2009-12-23 21 views
16

Son zamanlarda Windows 7 Ultimate x64 ev makinemde SQL Server 2008 Express'i kurdum. Ayrıca PHP 5.3 ile IIS 7.5 var ve bu hatayı almaya ADODB aracılığıyla SQL bağlanmaya çalışıyor ama tutuldu: internette kazma az miktarda yaptıktan sonra64 bit SQL Server'a ODBC ile nasıl bağlanırım?

[Microsoft][ODBC Driver Manager] The specified DSN contains an 
architecture mismatch between the Driver and Application 

, bu çünkü olduğunu düşünüyorum SQL Server ODBC sürücüsü, 32 bit işletim sistemleri ve benim için 64 anlamına geliyor. Her şeyden önce, ben düzeltmek miyim? Başımın belaya girmesinin sebebi bu mu? İkincisi, eğer öyleyse, bunu nasıl düzeltirim? 64 bit işletim sistemleriyle çalışan herhangi bir güncelleştirilmiş ODBC sürücüsü var mı? Ben baktım ama bulamadı herhangi bir ...

cevap

25

Bu konuda doğru olan bit ile ilgili. Bu yardımcı olur

Umut:

--From MSDN - Sana Kullanıcı DSNs ile çalışıyoruz bahse giriyorum

To manage a data source that connects to a 32-bit driver under 64-bit platform, use c:\windows\sysWOW64\odbcad32.exe. To manage a data source that connects to a 64-bit driver, use c:\windows\system32\odbcad32.exe. If you use the 64-bit odbcad32.exe to configure or remove a DSN that connects to a 32-bit driver you will receive this message.

+0

teşekkürler! Bunu bulmak ne kadar zor olduğunu şaşırdım! – Guillermo

+0

Bu benim için de çalıştı ... 30+ dakika sonra etrafta dolanıp yanlış yola saptığım için. Bu makaleyi okuyorsanız, C: \ Windows \ SysWOW64 \ odbcad32.exe istediğinizdir. –

+0

Teşekkürler, yardımcı oldu. :) – Dharmavir

1

.

  1. 32-bit Kullanıcı DSN 64 bit Yöneticisi görünür ve ne zaman 64 -

    bakış açınıza bağlı olarak, 64-bit Windows ortamında bir "özelliği" veya "böcek" var -bit istemci uygulamaları, tüm kullanılabilir DSN'leri soruyor - 32 bit DSN'ler, ,, 64 bit istemci uygulaması ve Yönetici tarafından kullanılamıyor olsa bile.

  2. 64-bit Kullanıcı DSN 32 bit Yöneticisi görünür ve 32-bit istemci uygulamaları mevcut tüm DSN sorduğunuzda - 64 bit DSN olamaz olsa 32 bit istemci tarafından kullanılan Uygulama ve Yönetici.

Tanımladığınız hata iletisi, DSN ile birlikte çalıştığı istemci arasında böyle bir bitkinlik uyuşmazlığı olduğunda ortaya çıkar.

Microsoft'un önerisi, Kullanıcı DSN'lerinizi _32 veya _64 ile adlandırmak, bağlı oldukları sürücünün bitkinliğine bağlı olmak ya da Sistem DSN'leri ile yapıştırmaktır.

İstediğiniz bağlantı için 32 bit ve 64 bit çözümler vardır. İstemci uygulamanızın (bit) bitliği - IIS & PHP, bu durumda gereksinim duyduğunuz çözümün bititesini belirler.

+0

Aslında Sistem DSN'leri olarak ayarlamayı denedim. Eğer isterseniz, Sunucu Arızası'nda bu soruyu esasen sordum, çünkü sunucu yönetiminden programlamaya göre daha fazla şey var. Bu hala çözülmemiş, eğer çözebileceğinizi düşünüyorsanız, her zaman demek! http://serverfault.com/questions/97074/ – SoaperGEM

2

Sürücüyü eklemek için C:\Windows\SysWOW64\odbcad32.exe numaralı telefonu denedim. Ancak, MAS90 ve SQL Server 2008 R2 arasında bağlantılı bir sunucu kurduğumda mimarlık uyumsuzluğu hatasını hala alıyorum. Sadece Sage'den bir adamla konuştu ve Sql Server'ın 64-bit sürümü ile çalışmayacağını söylüyor. Bağlantılı sunucu sadece Sql Server'ın sürümü 32-bit ise, MAS90 ile çalışır.

+3

"Sadece bir erkekle konuştu" bu konuyla ilgili bir referans değil – Dhara

4

Aynı sorunu, 64 bit SQL 2012 sunucusunu Pervasive ODBC İstemci Arabirimi kullanarak 'Sage Timberline' ile ilişkilendirmeye çalışıyorum.

32 bit DSN'yi kurabilirim, ancak SQL Server 32 bit DSN kullanarak bağlantılı bir sunucu oluşturmaya çalışırken bana "mimari uyumsuzluğu" hatası veriyor.

+0

scott değil, bunu bir şey yapabildiniz mi? –

1

eğer 64 bit işletim sisteminde (eğer altında yüklü olan uygulamaya 32 bit uygulama [program dosyaları (X86)] Aşağıdaki C kullanın: \ Windows \ SysWOW64 \ odbcad32.exe

aksi 64 bit uygulama ve 64 bit işletim sistemi aşağıdaki C kullanın: aksi takdirde "Mimari uyumsuzluğu"

Umut bu kurtaracak birinin gününü böyle bir hata alırsınız

odbcad32.exe \ Windows \ System32 \ :)