2009-12-23 12 views
16

मैंने हाल ही में अपने विंडोज 7 अल्टीमेट x64 होम मशीन पर SQL Server 2008 एक्सप्रेस स्थापित किया है। मैं भी पीएचपी 5.3 के साथ आईआईएस 7.5 है, और मुझे ADODB के माध्यम से SQL से कनेक्ट करने की कोशिश कर रहा था, लेकिन रखा यह त्रुटि मिलती:मैं अपने 64-बिट SQL सर्वर से ओडीबीसी के साथ कैसे कनेक्ट करूं?

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

इंटरनेट पर खुदाई की एक छोटी राशि करने के बाद, मुझे लगता है कि इस वजह से है एसक्यूएल सर्वर ओडीबीसी ड्राइवर 32-बिट ऑपरेटिंग सिस्टम, और मेरा 64 के लिए है। सबसे पहले, क्या मैं सही हूँ? क्या यही कारण है कि मैं परेशानी में भाग रहा हूं? दूसरा, यदि हां, तो मैं इसे कैसे ठीक करूं? क्या कोई अद्यतन ओडीबीसी ड्राइवर है जो 64-बिट ऑपरेटिंग सिस्टम के साथ काम करता है? मैंने देखा लेकिन कोई भी खोजने में असमर्थ था ...

उत्तर

25

आप सही हैं कि इसे बिट्स के साथ करना है।

आशा इस मदद करता है:

--From MSDN -

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

धन्यवाद! मुझे आश्चर्य है कि इसे ढूंढना कितना मुश्किल है! – Guillermo

+0

यह मेरे लिए भी काम करता है ... 30+ मिनटों के आसपास गड़बड़ी के बाद क्योंकि मैंने गलत पथ की प्रतिलिपि बनाई थी। यदि आप इस आलेख को पढ़ रहे हैं, तो C: \ Windows \ SysWOW64 \ odbcad32.exe वह वही है जिसे आप चाहते हैं। –

+0

धन्यवाद, सहायक था। :) – Dharmavir

1

मैं तुम्हें उपयोगकर्ता DSNs के साथ काम कर रहे हैं दांव लगा रहा हूँ।

  1. 32-बिट उपयोगकर्ता DSNs 64-बिट प्रशासक में दिखाई और जब 64 -

    अपने दृष्टिकोण पर निर्भर करता है, वहाँ एक "सुविधा" या "बग" 64-बिट Windows वातावरण में है -बीबी क्लाइंट एप्लिकेशन सभी उपलब्ध डीएसएन के लिए पूछते हैं - भले ही 32-बिट डीएसएन 64-बिट क्लाइंट ऐप और एडमिनस्ट्रेटर द्वारा का उपयोग नहीं किया जा सकता है।

  2. 64-बिट उपयोगकर्ता DSNs 32-बिट प्रशासक में दिखाई और जब 32-बिट क्लाइंट अनुप्रयोग सभी उपलब्ध DSNs के लिए पूछना है - भले ही 64-बिट DSNs नहीं किया जा सकता 32-बिट ग्राहक द्वारा इस्तेमाल किया ऐप और एडमिनस्ट्रेटर।

आपके द्वारा वर्णित त्रुटि संदेश किसी भी समय डीएसएन और क्लाइंट के साथ काम करने की कोशिश कर रहे इस तरह के एक गठजोड़ मेल नहीं है।

माइक्रोसॉफ्ट की सिफारिश आपके उपयोगकर्ता डीएसएन को _32 या _64 के साथ नामित करना है, जो चालक के आधार पर वे हैं ... या सिस्टम डीएसएन के साथ चिपके रहें।

आपके इच्छित कनेक्शन के लिए 32-बिट और 64-बिट समाधान हैं। आपके क्लाइंट एप्लिकेशन (ओं) - आईआईएस & PHP का सीधा, इस मामले में - आपको जिस समाधान की आवश्यकता है उसके बारे में बताएं।

+0

मैंने वास्तव में सिस्टम डीएसएन के रूप में चीजों को सेट करने का प्रयास किया है। यदि आप चाहते हैं, तो मैंने अनिवार्य रूप से सर्वर फॉल्ट पर इस प्रश्न को फिर से पूछा है क्योंकि यह प्रोग्रामिंग की तुलना में सर्वर प्रबंधन के बारे में अधिक है। यह अभी भी अनसुलझा है, इसलिए यदि आपको लगता है कि आप इसे हल कर सकते हैं, तो हर तरह से करें! http://serverfault.com/questions/97074/ – SoaperGEM

2

मैंने ड्राइवर जोड़ने के लिए C:\Windows\SysWOW64\odbcad32.exe की कोशिश की। लेकिन जब मैंने एमएएस 9 0 और एसक्यूएल सर्वर 2008 आर 2 के बीच एक लिंक किया गया सर्वर स्थापित किया है, तब भी मुझे आर्किटेक्चर मिस्चैच त्रुटि मिलती है। बस ऋषि के एक लड़के से बात की और वह कहता है कि यह एसक्यूएल सर्वर के 64-बिट संस्करण के साथ काम नहीं करेगा। लिंक सर्वर केवल एमएएस 9 0 के साथ काम करता है अगर एसक्यूएल सर्वर का संस्करण 32-बिट है।

+3

"बस एक लड़के से बात की" वास्तव में संदर्भ नहीं है – Dhara

4

मुझे 64 बिट एसक्यूएल 2012 सर्वर को व्यापक ओडीबीसी क्लाइंट इंटरफेस का उपयोग करके 'ऋषि टिम्बरलाइन' से जोड़ने का प्रयास करने में एक ही समस्या हो रही है।

मैं 32 बिट डीएसएन सेट अप कर सकता हूं, लेकिन 32 बिट डीएसएन का उपयोग कर एक लिंक किए गए सर्वर को बनाने का प्रयास करते समय SQL सर्वर मुझे "आर्किटेक्चर मिस्चैच" त्रुटि देता रहता है।

+0

स्कॉट मुझे यह समस्या है, क्या आप इसे कुछ भी करने में सक्षम थे? –

1

अगर 64 बिट ऑपरेटिंग सिस्टम (आवेदन आप के तहत स्थापित कर रहे हैं पर 32 बिट आवेदन [कार्यक्रम Files (x86)] निम्नलिखित सी का उपयोग: \ Windows \ SysWOW64 \ odbcad32.exe

अन्यथा 64 बिट आवेदन और 64 बिट ऑपरेटिंग सिस्टम निम्नलिखित सी का उपयोग करें: odbcad32.exe

\ Windows \ System32 \ अन्यथा आप "वास्तु बेमेल 'किसी के दिन

आशा इस बचत होगी की तरह एक त्रुटि प्राप्त होगी :)

संबंधित मुद्दे