Gui Perim 0 Denunciar post Postado Outubro 29, 2012 Boaaa Tarde galera ! É o seguinte, estou tentando realizar a conexão entre PHP + MS SQL, porém estou tendo alguns problemas. Uso o EasyPHP versão 5.3.9 E o banco que estou tentando acessar é online, e não possuo mssql instalado em minha maquina. Ja olhei em diversos fóruns (inclusive do IMasters), porém não obtive solução. Realizei os seguintes passos ja: - A configuração do php.ini está correta (ja desbloqueei a linha do mssql) - Ja baixei a ntwdblib.dll e coloquei a pasta do Windows32. Mas mesmo assim não funciona......o erro é esse: Fatal error: Call to undefined function mssql_connect() in C:\Program Files\EasyPHP-5.3.9\www\souamais\config.me.php on line 2 Ja estou ficando loucoo kkkkk.....gostaria da ajuda de vocês. Desde ja muito obrigadoo. Compartilhar este post Link para o post Compartilhar em outros sites
shini 318 Denunciar post Postado Outubro 29, 2012 ja tentou usar o pdo? essa extensao foi descontinuada, você pode baixar ela por fora tbm. http://www.php.net/manual/en/mssql.installation.php Compartilhar este post Link para o post Compartilhar em outros sites
Gui Perim 0 Denunciar post Postado Outubro 29, 2012 Obrigado por responder shini, não sabia que tinha cido descontinuada... Dei uma olhada aqui, e peguei os Drivers da própria Microsoft para conexão php+ssql Porém sou leigo no assunto, apenas extrai os arquivos na pasta ext do php. mas ainda assim não funcionou. Alguma Dica ? Compartilhar este post Link para o post Compartilhar em outros sites
shini 318 Denunciar post Postado Outubro 29, 2012 conexao com o pdo, libera essas duas exnensões php_pdo, pdo_mssql. depois: $db = new PDO("sqlsrv:host=localhost dbname=teste",$user,$pass); http://www.php.net/manual/en/ref.pdo-sqlsrv.connection.php Compartilhar este post Link para o post Compartilhar em outros sites
Uerlen Santos 15 Denunciar post Postado Outubro 29, 2012 Se caso continuar dando erro. Adicione no php.ini: extension=php_sqlsrv_52_ts.dll #extension=php_sqlsrv_ts.dll extension=php_pdo_sqlsrv_52_ts.dll E copie as dlls do driver para a pasta ext do seu php. Lembrando que os nomes das dlls acima vão depender da versão do PDO que você baixou. Atenciosamente Uerlen Santos Compartilhar este post Link para o post Compartilhar em outros sites
Gui Perim 0 Denunciar post Postado Outubro 29, 2012 Então, ja liberei as extenções: extension=php_pdo.dll extension=php_pdo_mssql.dll Porém, quando salvo o arquivo (php.ini), ele da alguns erros, de que não foi possivel, encontrar o módulo especificado. Tanto do arquivo php_pdo.dll, quando to php_pdo_mssql.dll Teria que baixar essas duas dll's e colocar na pasta de extenções ? Compartilhar este post Link para o post Compartilhar em outros sites
Uerlen Santos 15 Denunciar post Postado Outubro 29, 2012 Ah sim elas devem existir dentro da pasta Ext. Compartilhar este post Link para o post Compartilhar em outros sites
shini 318 Denunciar post Postado Outubro 29, 2012 http://stackoverflow.com/questions/11101376/easyphp-5-3-9-no-available-php-extensions Compartilhar este post Link para o post Compartilhar em outros sites
Gui Perim 0 Denunciar post Postado Outubro 30, 2012 Obrigado pela ajuda.... Baxei as extenções e coloquei elas dentro da pasta ext... Porém agora ao iniciar o EasyPhp retorna o seguinte erro: "PHP Startup PDO: Unable to Initialize Modulo Modulo compiled with module API=20050922 PHP compiled with module API=20090626 These options need to math" E logo depois aparece outra mensagem: "O programa não pode ser iniciado porque esta faltando php_pdo.dll no seu computador. Tente reinstala-lo para resolver esse problema" Mas o arquivos esta dentro da pasta ext... =S Vou tentar realizar o procedimento que esta no link do shini....mas ai eu teria que alterar o extension_dir, no php_ini certo ? Uerlen Santos, fiz as alteções que você sugeriu, no php.ini adicionei as lihas extension=php_sqlsrv_52_ts.dll extension=php_pdo_sqlsrv_52_ts.dll (porém mudei ambas para 53) E tambem inseri as dll's na pasta ext Porém mesmo assim ainda não funcionou, ainda continua com os erros citados acima, e qnd tento executar o script de conxão, o erro é: Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in.... Tambem realizei o procedimento descrito no link do shini, porém continua no mesmo. Compartilhar este post Link para o post Compartilhar em outros sites
shini 318 Denunciar post Postado Outubro 30, 2012 putz, instala outro no lugaro easyphp, xampp/wampp/lampp Compartilhar este post Link para o post Compartilhar em outros sites
Gui Perim 0 Denunciar post Postado Outubro 30, 2012 Mas se eu instalar o Xampp, por exemplo, não vou precisar realizar as configurações ? Outra coisa, e se ao invés de tentar essa conexão direta, tentar usar um ODBC ? Iria funcionar ? Compartilhar este post Link para o post Compartilhar em outros sites
shini 318 Denunciar post Postado Outubro 30, 2012 se a extensão do odbc não esitver zoada, pode resolver o seu problema. Compartilhar este post Link para o post Compartilhar em outros sites
Gui Perim 0 Denunciar post Postado Outubro 30, 2012 Eu fiz a conexão com odbc (segue o código abaixo), e aparentemente ele consegue se conectar normalmente, pelo menos não retorna erro nenhum. $szDBConn="DRIVER={SQL Server};SERVER=sq200.ha.6ps.com;DATABASE=Express"; $szDBUsername="ExpressUser"; $szDBPswd="123@Mudar321"; $rDBConnect = odbc_connect($szDBConn, $szDBUsername, $szDBPswd); O problema é que quando eu tento realizar uma consulta ele da erro: Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC SQL Server Driver] Invalid object name Compartilhar este post Link para o post Compartilhar em outros sites
Uerlen Santos 15 Denunciar post Postado Outubro 30, 2012 Aqui trabalho com PHP e MsSql Optei em instalar tudo separado (Apache, PHP, SqlServer e seu respectivo driver) Não tenho nada contra trabalhar com pacotes, porem nem sempre eles estão completos. Se você quiser posso lhe disponibilizar minha pasta do PHP para você testar no seu ambiente de desenvolvimento. Se quiser pode me adicionar no skype que te passo. uerlen.santos Abraço Compartilhar este post Link para o post Compartilhar em outros sites
Gui Perim 0 Denunciar post Postado Outubro 30, 2012 Caso encerrado galera.... Peguei outro esquema de conexão, deixo aqui esperando que possa ser útil pra alguem: $db = new COM("ADODB.Connection"); $dsn = "DRIVER={SQL Server}; SERVER={server_name};UID={user};PWD={password}; DATABASE={bd_name}"; $db ->Open($dsn); Obrigado a todos pela ajuda. Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Outubro 30, 2012 A ADODB não havia sido descontinuada? Ao menos foi o que alguns desenvolvedores me comentaram. Se não foi, tive tantos problemas com ela que eu descontinuei ela nos meus projetos. Se você ainda quiser alguma explicação sobre os drivers da PDO para o MsSQL, aqui tem uma explicação de cada driver e, principalmente sobre SQLSRV, o porque de não funcionar em alguns pacotes de windows. http://forum.imasters.com.br/topic/476963-erro-ao-conectar-sql-server-2008/page__view__findpost__p__1896102 O mais indicado, dos drivers, é o SQLSRV. Rápido e multiplataforma(em partes, depende do compilador, como sempre). Fácil de encontrar para o PHP 5.4+, mas vai depender também da versão do SQL Server (principalmente se for acesso remoto). Compartilhar este post Link para o post Compartilhar em outros sites
Gui Perim 0 Denunciar post Postado Outubro 30, 2012 Então Gabriel Heming, não sei se foi descontinuada....nunca tinha usado, porém aqui esta funcionando normalmente. Vi o link com a descrição que você mandou, achei muito interessante. O ideal no meu caso seria mesmo conseguir utilizar a SLQSRV, maaaass como estou tendo muita dor de cabeça...vou continuar com a ADODB msm srsrs Muito Obrigado pela ajuda. Compartilhar este post Link para o post Compartilhar em outros sites