Estou executando o PHP 5.3.1 no IIS 7.5 no Windows 7 Ultimate x64. Eu tenho tentado fazer o PHP se conectar à minha instalação local do SQL Server 2008 Express via ODBC usando ADODB. No começo, eu tive problemas em fazer com que ele se conectasse, porque, mesmo depois de adicionar meu servidor SQL local como um DSN de servidor no gerenciador de ODBC, continuei recebendo este erro:
[Microsoft][ODBC Driver Manager] The specified DSN contains an
architecture mismatch between the Driver and Application
Eu perguntei sobre isso em Stack Overflow e recebi uma resposta. Em retrospecto, eu provavelmente deveria ter perguntado isso aqui, mas recebi minha resposta, então não me importo. (Além disso, eu absolutamente detesto o fato de que os sites da trilogia estão divididos em primeiro lugar, mas isso é outra história ...)
De qualquer forma, depois de configurar a fonte de dados usando% windir% \ sysWOW64 \ odbcad32.exe, pareci fazer algum progresso. Eu não estou mais recebendo o erro que listei acima. Em vez disso, estou recebendo um erro aparentemente muito mais maligno, ou seja, este:
AnteseuestavaapenasrecebendoumaexceçãoPHPsimples.AgorameuscriptPHPfazoequivalenteasegfaultingporqueaparentementeeleestásendodesconectadodessedriverODBCde64bits.Socorro!Conectar-seaumSQLServerdeveserumatarefarelativamentesimplesedireta;então,oqueprecisofazerparaqueascoisasfuncionem?
ATUALIZAÇÃO:EstoucomeçandoumarecompensaporquerealmenteprecisoqueoSQLServereoPHPconversemumcomooutroembreve.UmpôstersugeriuqueeuchecasseoEventLog,masissonãomostranada,eoutropôstersugeriuqueeuhabilitasseoFailedRequestTracing,oqueeufiz,masnãotenhotantacertezadequeissoforneçaalgosignificativo.Umacópiadorastreiodeerrosfornecidopodeserencontrada aqui (somente no IE). Eu também tenho o script PHP (muito básico) mostrado aqui . Alterei o nome da conexão para "MYCOMPUTER", alterei o nome do banco de dados / catálogo específico para "MyDatabase" e ocultei a senha, mas não fiz nenhuma outra alteração.
Um pequeno histórico:
- Meu computador é chamado MYCOMPUTER (não realmente, mas pense assim)
- MYCOMPUTER está executando o Windows 7 Ultimate de 64 bits com o IIS 7.5
- O MYCOMPUTER tem o PHP 5.3.1 instalado (32 bits) manipulado por meio do FastCGI
- MYCOMPUTER tem o SQL Server Express 2008 de 64 bits instalado
- A instância padrão do SQL é chamada MYCOMPUTER \ SQLEXPRESS
- Existe um banco de dados chamado MyDatabase (novamente, o nome é realmente diferente)
- Existe uma configuração DSN do sistema chamada MYCOMPUTER (configurada com o Gerenciador ODBC de 32 bits)
- Existe uma configuração DSN do Sistema chamada MYCOMPUTER64 (configurada com o Gerenciador ODBC de 64 bits)
Se eu tentar conectar-me ao MYCOMPUTER nesse script ao qual fiz o link, recebo o erro grande e assustador 500. Se eu tentar conectar-se ao MYCOMPUTER64 nesse mesmo script, recebo o erro "incompatibilidade de arquitetura" listado acima. De qualquer maneira não está funcionando. Eu preciso disso para funcionar. Por favor ajude.