none
nao consigo conectar mssql php RRS feed

  • Pergunta

  • Nao consigo fazer funcionar uma simples conn entre o sql server e o php!!

    ja baixei e deixe na pasta ext os driver de acordo com  minha versao do php

    Ja fiz referencia delas no php.ini reiniciei

    e quando vou testar a conn da esse erro abaixo do codigo, alguem sabe como resolvo, inacreditavel que microsoft nao consiga fazer nada direito uma simples conexao ao banco deles enorme tormento.

        $servidor = "MEU\SQLSERVER";
        $basedatos = "novo";
        #$usuario = "novo";
        #$pass = "senha";
     
    $info = array('Database'=>$basedatos); 
    $conexion = sqlsrv_connect($servidor, $info);  
    
    
    if(!$conexion){
    
     die( print_r( sqlsrv_errors(), true));
    
     }
    
    echo 'Conectado';

    Array ( [0] => Array ( [0] => IMSSP [SQLSTATE] => IMSSP [1] => -49 [code] => -49 [2] => This extension requires the Microsoft ODBC Driver 11 for SQL Server. Access the following URL to download the ODBC Driver 11 for SQL Server for x86: http://go.microsoft.com/fwlink/?LinkId=163712 [message] => This extension requires the Microsoft ODBC Driver 11 for SQL Server. Access the following URL to download the ODBC Driver 11 for SQL Server for x86: http://go.microsoft.com/fwlink/?LinkId=163712 ) [1] => Array ( [0] => IM002 [SQLSTATE] => IM002 [1] => 0 [code] => 0 [2] => [Microsoft][ODBC Driver Manager] Nome da fonte de dados não encontrado e nenhum driver padrão especificado [message] => [Microsoft][ODBC Driver Manager] Nome da fonte de dados não encontrado e nenhum driver padrão especificado ) )

     

    • Editado hyper_pixel quarta-feira, 28 de outubro de 2015 15:46
    quarta-feira, 28 de outubro de 2015 14:26

Respostas

  • Olha esse link:

    sqlsrv_connect


    Flávio Farias
    "May the Force be with you"
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"

    • Marcado como Resposta Marcos SJ quinta-feira, 29 de outubro de 2015 12:11
    • Não Marcado como Resposta Marcos SJ quinta-feira, 29 de outubro de 2015 12:11
    • Sugerido como Resposta Marcos SJ quinta-feira, 29 de outubro de 2015 12:11
    • Marcado como Resposta Marcos SJ quinta-feira, 29 de outubro de 2015 13:06
    quarta-feira, 28 de outubro de 2015 16:17

Todas as Respostas

  • Bom dia,

    De acordo com a mensagem de erro.

    This extension requires the Microsoft ODBC Driver 11 for SQL Server

    E para completar e reduzir seu trabalho ele te dá o link para vc acessar

    Access the following URL to download the ODBC Driver 11 for SQL Server for x86: http://go.microsoft.com/fwlink/?LinkId=163712

    E para ajudar caso o usuário não entenda a mensagem em inglês, ainda está traduzido !

     Nome da fonte de dados não encontrado e nenhum driver padrão especificado [message] => [Microsoft][ODBC Driver Manager] Nome da fonte de dados não encontrado e nenhum driver padrão especificado ) )

    Siga as instruções e relate o avanço !

    No link a seguir tem alguns exemplos de conexão direto da "locaweb"

    Conexão PHP - MSSQL

    Arquivo: sqlsrv.php
    <?
    // Dados do banco
    $dbhost   = "hostbanco";   #Nome do host
    $db       = "nomebanco";   #Nome do banco de dados
    $user     = "nomeusuario"; #Nome do usuário
    $password = "senhabase";   #Senha do usuário
     
    // Dados da tabela
    $tabela = "nometabela";    #Nome da tabela
    $campo1 = "campo1tabela";  #Nome do campo da tabela
    $campo2 = "campo2tabela";  #Nome de outro campo da tabela
    
    $conninfo = array("Database" => $db, "UID" => $user, "PWD" => $password);
    $conn = sqlsrv_connect($dbhost, $conninfo);
     
    $instrucaoSQL = "SELECT $campo1, $campo2 FROM $tabela ORDER BY $campo1";
     
    $params = array();
    $options =array("Scrollable" => SQLSRV_CURSOR_KEYSET);
    $consulta = sqlsrv_query($conn, $instrucaoSQL, $params, $options);
    $numRegistros = sqlsrv_num_rows($consulta);
     
    echo "Esta tabela contém $numRegistros registros!\n<hr>\n";
     
    if ($numRegistros!=0) {
    	while ($cadaLinha = sqlsrv_fetch_array($consulta, SQLSRV_FETCH_ASSOC)) {
    		echo "$cadaLinha[$campo1] - $cadaLinha[$campo2]\n<br>\n";
    	}
    }
    ?>


    Flávio Farias
    "May the Force be with you"
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"


    quarta-feira, 28 de outubro de 2015 14:38
  • nada agora esta dando outro erro cOm esse codigo da locaweb

    <?php// Dados da tabela$tabela = "Usuarios";    #Nome da tabela$campo1 = "logradouro";  #Nome do campo da tabela$campo2 = "endereco";  #Nome de outro campo da tabela    $dbhost = "111.111.111.11";//LOCAL/SQLSERVER    $db = "meubanco";    $user = "user";    $password = "123456"; // Dados do banco $conninfo = array("Database" => $db, "UID" => $user, "PWD" => $password);$conn = sqlsrv_connect($dbhost, $conninfo);$instrucaoSQL = "SELECT $campo1, $campo2 FROM $tabela ORDER BY $campo1";$params = array();$options =array("Scrollable" => SQLSRV_CURSOR_KEYSET);#LINHA 20 AQUI QUE DEU ERRO$consulta = sqlsrv_query($conn, $instrucaoSQL, $params, $options);$numRegistros = sqlsrv_num_rows($consulta);echo "Esta tabela contém $numRegistros registros!\n<hr>\n";if ($numRegistros!=0) {	while ($cadaLinha = sqlsrv_fetch_array($consulta, SQLSRV_FETCH_ASSOC)) {		echo "$cadaLinha[$campo1] - $cadaLinha[$campo2]\n<br>\n";	}}?>

    quarta-feira, 28 de outubro de 2015 15:02
  • Olha no link que eu mandei ! Lá tem outros códigos de conexão !
    Mas vc precisa agora adaptar para seu cenário !

    <?
    // Dados do banco
    $dbhost   = "hostbanco";   #Nome do host
    $db       = "nomebanco";   #Nome do banco de dados
    $user     = "nomeusuario"; #Nome do usuário
    $password = "senhabase";   #Senha do usuário
    
    // Dados da tabela
    $tabela = "nometabela";    #Nome da tabela
    $campo1 = "campo1tabela";  #Nome do campo da tabela
    $campo2 = "campo2tabela";  #Nome de outro campo da tabela
    
    @mssql_connect($dbhost,$user,$password) or die("Não foi possível a conexão com o servidor!");
    @mssql_select_db("$db") or die("Não foi possível selecionar o banco de dados!");
     
    $instrucaoSQL = "SELECT $campo1, $campo2 FROM $tabela ORDER BY $campo1";
    $consulta = mssql_query($instrucaoSQL);
    $numRegistros = mssql_num_rows($consulta);
     
    echo "Esta tabela contém $numRegistros registros!\n<hr>\n";
     
    if ($numRegistros!=0) {
    	while ($cadaLinha = mssql_fetch_array($consulta)) {
    		echo "$cadaLinha[$campo1] - $cadaLinha[$campo2]\n<br>\n";
    	}
    }
    ?>

    No link abaixo tem os drives para PHP do SQL Server

    Microsoft Drivers for PHP for SQL Server

    Aqui tem outro exemplo:

    A fonte foi esse link:
    Conexão PHP - MSSQL

    <?PHP
    $servername = “NOMEDOSEUPC\SQLEXPRESS”;
    $usuario = “sa”;
    $senha = “suasenha”;
    $dbase = “seubancodedados”;
    
    // Conexao com o SQL Server
    $link = mssql_connect($servername, $usuario, $senha);
    if(!$link) { die(“Não foi possível estabelecer conexão com o SQL Server.”); }
    
    // Verifica a conexao com o SQL Server
    $db = mssql_select_db($dbase, $link); // Selecao do Banco de Dados
    if(!$db) { die(“Não foi possível estabelecer conexão com o banco de dados.”); } ////Verifica a conexao com o Banco de Dados
    
    // aqui eu defini apenas o valor 1 para ele chamar o registro 1
    $id = “1”;
    
    // Consulta na tabela
    $SQL = “SELECT * FROM cadastro WHERE id=’$id‘”;
    
    $rs = mssql_query($SQL);
    $row = mssql_fetch_array($rs);
    
    echo “$row[nome]”;
    ?>


    Flávio Farias
    "May the Force be with you"
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"



    quarta-feira, 28 de outubro de 2015 15:12
  • esse tipo mssql_connect

    nao mais usado desde o php 5,4 e deu erro

    Fatal error: Call to undefined function mssql_connect() in C:\xampp\htdocs\job\index.php on line 13Call Stack#TimeMemoryFunctionLocation10.1084140512{main}( )..\index.php:0

    quarta-feira, 28 de outubro de 2015 15:59
  • Olha esse link:

    sqlsrv_connect


    Flávio Farias
    "May the Force be with you"
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"

    • Marcado como Resposta Marcos SJ quinta-feira, 29 de outubro de 2015 12:11
    • Não Marcado como Resposta Marcos SJ quinta-feira, 29 de outubro de 2015 12:11
    • Sugerido como Resposta Marcos SJ quinta-feira, 29 de outubro de 2015 12:11
    • Marcado como Resposta Marcos SJ quinta-feira, 29 de outubro de 2015 13:06
    quarta-feira, 28 de outubro de 2015 16:17