निर्दिष्ट DSN में ड्राइवर और अनुप्रयोग के बीच एक आर्किटेक्चर बेमेल होता है। जावा


85

मैं जावा का उपयोग करके MS Access द्वारा बनाए गए डेटाबेस से कनेक्ट करने का प्रयास कर रहा हूं, लेकिन मैं प्रबंधन नहीं कर सकता। मैं ODBC का उपयोग कर रहा हूं और मुझे यह अपवाद मिल रहा है:

java.sql.SQLException: [Microsoft] [ODBC ड्राइवर प्रबंधक] निर्दिष्ट DSN में ड्राइवर और अनुप्रयोग के बीच एक आर्किटेक्चर बेमेल होता है

मेरा जावा:

package javaapplication2;

import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;


/**
 *
 * @author Owner
 */
public class JavaApplication2 {

    /**
     * @param args the command line arguments
     * 
     */


    public static void main(String[] args) {
        // TODO code application logic here
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            String sourceURL = new String("jdbc:odbc:myDatabase");
            System.out.println(sourceURL);
            Connection dbConnection = DriverManager.getConnection(sourceURL,"admin","");

            Statement myStmt  = dbConnection.createStatement();

            String query = "INSERT INTO People(ID, Name, Surname, Age, Contact, Location, Course) VALUES"
                    + " (1007, 'Elroy', 'Smith', '33', 21366688, 'Somewhere', 'somecourse')";

            myStmt.executeUpdate(query);

            ResultSet results = myStmt.executeQuery("SELECT * FROM People");

            while(results.next())
            {
                System.out.print(results.getString(1));
                System.out.print(results.getString(2));
                System.out.print(results.getString(3));
                System.out.println(results.getString(4));

            }

            results.close();

        }
        catch(ClassNotFoundException cnfe)
        {
            System.out.println(cnfe);
        }
        catch(SQLException sqle)
        {
            System.out.println(sqle);
        }
    }
}

2
क्या आप 64-बिट jvm का उपयोग कर रहे हैं? यदि हां, तो आपको 64-बिट odbc ड्राइवर की आवश्यकता है।
डॉगबैन

1
हां, मुझे लगता है कि मैं हूं। मुझे C: \ Windows \ SysWOW64 में odbc का 64 बिट संस्करण मिला, लेकिन यह वही नहीं है जो कंट्रोल पैनल चालू करता है।
user1028408

64bit ड्राइवर स्थापित नहीं कर सकते क्योंकि मेरे अन्य कार्यालय उत्पाद 32bit हैं: /
DavidVdd

जवाबों:


128

इनमें से किसी ने भी मेरे लिए ऐसा नहीं किया। मुझे MSDN पर उत्तर मिला। हालांकि इसके संकेत थे। त्रुटि में वास्तुकला 32 बनाम 64 बिट्स की बात कर रहा है। मेरा समाधान यह पता लगाना था कि मेरा ऐप किसके तहत चल रहा है (एक्सेस) जो 2010 में 32 बी है। मैंने इसे टास्क मैनेजर के प्रोसेस टैब में देखा, जहां सभी 32b प्रक्रियाओं में उनके नाम के 32 * अंत हैं। जैसा कि कहा गया था, कंट्रोल पैनल यहां से 64 बिट संस्करण ODBC लॉन्च करेगा

c:\windows\system32\odbcad32.exe

और 32 बिट संस्करण यहाँ है:

c:\windows\sysWOW64\odbcad32.exe (रन डायलॉग में कॉपी और पेस्ट करना सबसे आसान)

इसलिए मैंने इसी ODBC नियंत्रण पैनल (AKA प्रशासक) में से प्रत्येक में 32 और 64 में समाप्त होने वाले नामों के साथ DSN स्थापित किया, जो एक ही चीज़ की ओर इशारा करते थे। फिर, मैंने सही एप को इस आधार पर चुना / चुना कि क्या इसका उपयोग करने वाला ऐप 32 बी या 64 बी है।


मैं 64 बिट संस्करण की कोशिश की थी और व्यवस्थापक के रूप में इसे चलाने, लेकिन यह भी काम नहीं करता है !!
फातिमा ज़ोहरा

2
थोड़ा सामंजस्य होना चाहिए। यदि ऐप 32 है, तो इसके लिए 32 बिट कॉन्फिगर होना चाहिए। यदि एप्लिकेशन 64 है, तो आपके पास एक होना चाहिए जो 64 है। मैंने एक ही नाम के साथ कॉन्फिगरेशन बनाने की कोशिश नहीं की, क्योंकि मैं नहीं चाहता था कि वे सिंक से बाहर निकलें (एक ही समय में दोनों को बदलना भूल जाएं)। आपने मुझे सुझाव देने की कोशिश करने के लिए पर्याप्त जानकारी नहीं दी। मुझे आशा है कि आपने इसका पता लगा लिया होगा। (वे इतनी सरल बात क्यों नहीं कर सकते हैं और 64 बिट ऐप बनाते हैं जो 64 और 32 बिट वातावरण दोनों को कॉन्फ़िगर करते हैं ???)
पेकोस बिल

और जैसा कि नीचे बताया गया है अभी तक स्पष्ट नहीं है, इसमें शामिल ड्राइवरों को भी मिलान करना होगा (शायद 32 और 64 दोनों को स्थापित करने के लिए सबसे अच्छा है) हालांकि मुझे नहीं लगता कि आप ड्राइवर को चुन सकते हैं यदि यह उचित वास्तुकला नहीं था।
Pecos Bill

इससे मुझे यह समझने में भी मदद मिली कि मेरा 32 बिट एक्सेल 64 बिट क्लाउड हाइव ओडीएफ ड्राइवर का उपयोग करके हमारे हडोप हाइव सर्वर से क्यों नहीं जुड़ सकता है। एक बार जब मैं 32 बिट कनेक्टर पर स्विच करता हूं तो यह बहुत अच्छा काम करता है!
मार्क विकी

2
तो स्पष्ट होने के लिए: आप 64 बिट सिस्टम पर सामान्य Windows GUI के माध्यम से 32 बिट PostgreSQL ODBC कनेक्शन सेट नहीं कर सकते । इसके बजाय आपको ODBC डेटा स्रोत व्यवस्थापक (यदि यह वर्तमान में खुला है) को बंद करने की आवश्यकता है, तो c:\windows\sysWOW64\odbcad32.exeवहां से कनेक्शन चलाएं और कॉन्फ़िगर करें। फिर आप बाद में डेटाबेस को एक्सेस करने के लिए 32 बिट प्रोग्राम में उस कनेक्शन का उपयोग कर सकते हैं।
Ajedi32

26

MS-Access से MySQL डेटाबेस से कनेक्ट करने का प्रयास करते समय आपको यह सटीक त्रुटि मिलती है जब Access का बिट संस्करण (32 बनाम 64) मेल नहीं खाता

  1. आपके द्वारा उपयोग किए जा रहे ODBC ड्राइवर का बिट संस्करण
  2. ODBC प्रबंधक के बिट संस्करण को आप इसे सेट करने के लिए उपयोग करते हैं।

आप में से एक 64 बिट विंडोज सिस्टम पर MySQL में MS-Access को कनेक्ट करने की कोशिश कर रहे लोगों के लिए, मैं सरासर यातना से गुजरा, जो इसे MS-Access 2010 और MS-Access दोनों 2013 के साथ काम करने की कोशिश कर रहा था। अंत में यह काम कर रहा है, और यहाँ हैं सबक मैंने रास्ते में सीखा है:

मैंने एक नया विंडोज 7, 64 बिट लैपटॉप खरीदा है, और मेरे पास एक ऐप है जो MySQL टेबल का उपयोग करके MS-Access पर निर्भर करता है।

  1. मैंने ऑल इन वन पैकेज इंस्टॉल का उपयोग करके MySQL, 5.6 का नवीनतम संस्करण स्थापित किया। यह आपको डेटाबेस और ODBC ड्राइवरों दोनों को एक साथ स्थापित करने की अनुमति देता है। यह अच्छा है, लेकिन यह स्थापित ODBC ड्राइवर 64 बिट वाला लगता है, इसलिए यह 32 बिट MS-Access के साथ काम नहीं करेगा। यह थोड़ा छोटा भी लगता है - उस पर निश्चित नहीं। जब आप ODBC प्रबंधक में एक नया DSN जोड़ते हैं, तो यह ड्राइवर "Microsoft ODBC For Oracle" के रूप में प्रकट होता है। मुझे यह काम करने के लिए नहीं मिला। मुझे 32 बिट स्थापित करना था, नीचे चर्चा की गई।

    • इंस्टॉल होने के बाद MySQL ठीक काम कर रहा था। मैंने अपने आवेदन MySQL डेटाबेस को सामान्य तरीके से बहाल किया। अब मैं एमएस-एक्सेस का उपयोग करके इसे कनेक्ट करना चाहता हूं।


  2. मैंने पहले Office 2013 स्थापित किया था, जिसे मैंने 64 बिट माना था। लेकिन संस्करण की जांच करने पर (फ़ाइल, खाता, एक्सेस के बारे में), मैं देखता हूं कि यह 32 बिट है। एक्सेस २०१० और २०१३ सबसे अधिक बिकने वाले ३२-बिट संस्करण हैं।

  3. मेरी मशीन 64 बिट मशीन है। इसलिए डिफ़ॉल्ट रूप से, जब आप अपने DSN को MS-Access के लिए सेट अप करने के लिए जाते हैं, और नियंत्रण कक्ष, प्रशासनिक विकल्पों के माध्यम से ODBC प्रबंधक में सामान्य तरीके से जाते हैं, तो आपको 64 बिट ODBC प्रबंधक मिलता है। आपके पास यह जानने का कोई तरीका नहीं है! आप अभी नहीं बता सकते। यह एक विशाल गोटा है !! वहां से एक DSN स्थापित करना असंभव है और इसे सफलतापूर्वक MS एक्सेस 32 बिट से कनेक्ट करना होगा। आपको खतरनाक त्रुटि मिलेगी:

    "निर्दिष्ट डीएसएन में एक वास्तुकला बेमेल शामिल है ..."

  4. आपको MySQL से 32 बिट ODBC ड्राइवर को डाउनलोड और इंस्टॉल करना होगा। मैंने संस्करण 3.5.1 का उपयोग किया

    http://dev.mysql.com/downloads/connector/odbc/3.51.html

  5. आपको नियंत्रण कक्ष में ODBC प्रबंधक को हाइक लेने के लिए कहना चाहिए और इसके बजाय प्रारंभ, कमांड प्रॉम्प्ट पर निष्पादित इस कमांड के साथ 32 बिट ODBC प्रबंधक को स्पष्ट रूप से लागू करना चाहिए:

    c: \ windows \ syswow64 \ odbcad32.exe

    मैंने अपने डेस्कटॉप पर इसका शॉर्टकट बनाया। यहां से, इस प्रबंधक के साथ अपना DSN बनाएं। महत्वपूर्ण बिंदु: सिस्टम DSNS के रूप में निर्माण, उपयोगकर्ता DSNS का उपयोग नहीं करना चाहिए! इसने मुझे थोड़ी देर के लिए उलझा दिया।

    वैसे, ODBC प्रबंधक का 64 बिट संस्करण भी स्पष्ट रूप से चलाया जा सकता है:

    c: \ windows \ system32 \ odbcad32.exe

  6. जब आप MySql से 32-बिट ODBC ड्राइवर स्थापित कर लेते हैं, तो जब आप ODBC प्रबंधक में Add पर क्लिक करते हैं, तो आपको 2 ड्राइवर सूचीबद्ध दिखाई देंगे। "MySQL ODBC 5.2 ANSI ड्राइवर" चुनें। मैंने UNICODE ड्राइवर की कोशिश नहीं की।


उसने ऐसा किया। एक बार जब आप अपने DSN को 32 बिट ODBC प्रबंधक में परिभाषित कर लेते हैं, तो आप MySQL से सामान्य तरीके से Access - बाहरी डेटा, ODBC डेटाबेस, डेटाबेस से लिंक, मशीन डेटा स्रोत का चयन कर सकते हैं, और DSN को आपने अपने MySQL में जोड़ा है। डेटाबेस होगा।


2
मुझे लगता है कि आपने दो ओडीबीसी प्रबंधकों के लिए रास्तों के चारों ओर स्विच किया32 bit: c:\windows\system32\odbcad32.exe 64 bit: c:\windows\sysWOW64\odbcad32.exe
Jrgns

3
@ Jrgns नहीं, वे स्विच नहीं हैं। sysWOW64वास्तव में 32-बिट निर्देशिका है। विंडोज को भ्रमित करना पसंद है। आपको पता होगा कि आप किस संस्करण का उपयोग कर रहे हैं क्योंकि यह ODBC डेटा सोर्स एडमिनिस्ट्रेटर के टाइटल बार में (32-बिट) या (64-बिट) को दिखाएगा।
टिम लीफ

8

एक वास्तुकला बेमेल है। आपका JDBC ड्राइवर और आपका JDK एक ही आर्किटेक्चर का होना चाहिए। यदि आपका 32bit चालक और आपका JDK 64 बिट का उपयोग कर रहा है, तो आपको वह त्रुटि मिलेगी।

देखें इस

फिक्स: आपकी वास्तुकला पर निर्भर करता है।

यदि आपका जावा 64-बिट है तो आपको 64-बिट ड्राइवरों की आवश्यकता होगी।

डाउनलोड करें: http://www.microsoft.com/downloads/details.aspx?familyid=C06B8369-60DD-4B64-A44B-84B371EDE16D&displaylang=en


मैंने इसे डाउनलोड किया है और नए कनेक्शन स्ट्रिंग की कोशिश की है जैसा कि निर्देशों में निर्दिष्ट किया गया था लेकिन यह अभी भी काम नहीं किया। शायद मैं कुछ गलत कर रहा हूँ?
user1028408

2

मैंने इसका जवाब देखा और यह मेरे लिए काम कर गया। https://msdn.microsoft.com/en-us/library/ms712362%28v=vs.85%29.aspx

आपके द्वारा ड्राइवर के सेटअप प्रोग्राम से ODBC ड्राइवर स्थापित करने के बाद, आप इसके लिए एक या अधिक डेटा स्रोतों को परिभाषित कर सकते हैं। डेटा स्रोत नाम (DSN) को डेटा का एक अनूठा विवरण प्रदान करना चाहिए; उदाहरण के लिए, पेरोल या लेखा देय। उपयोगकर्ता और सिस्टम डेटा स्रोत जो वर्तमान में स्थापित सभी ड्राइवरों के लिए परिभाषित किए गए हैं, ODBC डेटा स्रोत व्यवस्थापक संवाद बॉक्स के उपयोगकर्ता DSN या सिस्टम DSN टैब में सूचीबद्ध हैं। किसी दिए गए निर्देशिका में फ़ाइल डेटा स्रोत फ़ाइल DSN टैब में सूचीबद्ध हैं; दिखाई जाने वाली निर्देशिका को फाइल DSN टैब में लुक इन बॉक्स में दर्ज किया गया है। System_CAPS_noteNote

64-बिट प्लेटफ़ॉर्म के तहत 32-बिट ड्राइवर से कनेक्ट होने वाले डेटा स्रोत का प्रबंधन करने के लिए, c: \ windows \ sysWOW64 \ odbcad32.exe का उपयोग करें। 64-बिट ड्राइवर से कनेक्ट होने वाले डेटा स्रोत का प्रबंधन करने के लिए, c: \ windows \ system32 \ odbcad32.exe का उपयोग करें। 64-बिट विंडोज 8 ऑपरेटिंग सिस्टम पर प्रशासनिक टूल में, 32-बिट और 64-बिट ODBC डेटा सोर्स एडमिनिस्ट्रेटर डायलॉग बॉक्स दोनों के लिए आइकन हैं।

यदि आप 32-बिट ड्राइवर से कनेक्ट होने वाले DSN को कॉन्फ़िगर या निकालने के लिए 64-बिट odbcad32.exe का उपयोग करते हैं, उदाहरण के लिए, ड्राइवर Microsoft Access (* .mdb) करता है, तो आपको निम्न त्रुटि संदेश प्राप्त होगा:

निर्दिष्ट DSN में ड्राइवर और अनुप्रयोग के बीच एक आर्किटेक्चर बेमेल होता है

इस त्रुटि को हल करने के लिए, DSN को कॉन्फ़िगर या निकालने के लिए 32-बिट odbcad32.exe का उपयोग करें।

डेटा स्रोत एक विशेष ODBC ड्राइवर को उस डेटा के साथ जोड़ता है जिसे आप उस ड्राइवर के माध्यम से एक्सेस करना चाहते हैं। उदाहरण के लिए, आप अपनी हार्ड डिस्क या नेटवर्क ड्राइव पर किसी विशिष्ट निर्देशिका में मिली एक या अधिक dBASE फ़ाइलों तक पहुँचने के लिए ODBC dBASE ड्राइवर का उपयोग करने के लिए एक डेटा स्रोत बना सकते हैं। ODBC डेटा स्रोत व्यवस्थापक का उपयोग करके, आप निम्न तालिका में वर्णित अनुसार, डेटा स्रोतों को जोड़, संशोधित और हटा सकते हैं।


हाय बिनेश कुमार, कृपया आप को बता सकते हैं
राज कुमार

2

डिफ़ॉल्ट रूप से, कमांड प्रॉम्प्ट System32 से जुड़ा होता है। 64-बिट कमांड प्रॉम्प्ट चलाएं, अर्थात C:\WINDOWS\SYSWOW64\CMD.EXE। उस में, अपने जावा एप्लिकेशन को संकलित करें और चलाएं।


2

इस समस्या को हल करने के लिए पहले यह सुनिश्चित करें कि आपका जावा सॉफ्टवेयर 32 बिट संस्करण होना चाहिए यदि यह 64 बिट संस्करण स्पष्ट रूप से है तो यह बेमेल त्रुटि दिखाएगा ताकि जावा संस्करण के 32 बिट संस्करण को फिर से स्थापित करने का प्रयास करें और c: \ "कमांड में जावा प्रोग्राम को निष्पादित करें। विंडोज़ \ sysWOW64 \ odbcad32.exe (कॉपी डायल में आसान और पेस्ट करने के लिए आसान) जो आपके कार्यक्रम को पर्याप्त रूप से काम करता है


1

आप जिस समस्या का सामना कर रहे थे वह हो सकती है क्योंकि: आप ऑफिस में 32 बिट और कमांड प्रॉम्प्ट 64 बिट के थे। समस्या को हल करने के लिए आपको 2 चरणों का पालन करना होगा:

  1. DSBC के लिए ODBC प्रबंधक खोलें: C: \ Windows \ SysWOW64 \ odbcad32.exe यह 32 बिट संस्करण के लिए ODBC डेटा व्यवस्थापक खोलेगा और आपको सभी डेटाबेस ड्राइवर दिखाई देंगे।

  2. इसके बाद आपको 32 बिट कमांड प्रॉम्प्ट को खोलने की आवश्यकता है: C: \ Windows \ SysWOW64 \ cmd.exe यह कमांड प्रॉम्प्ट के 32 बिट संस्करण को खोलेगा। इस नए सीएमडी में कृपया अपने जावा प्रोग्राम को फिर से जोड़ें और अपना प्रोग्राम चलाएं।

आशा है कि यह मदद करेगा।


1

थोड़ी देर हो गई, लेकिन जब से मैं एक ही समस्या में चला गया हूं, आपके सटीक परिदृश्य में, मुझे लगा कि मैं अपना समाधान जोड़ूंगा।

मेरे पास विंडोज 7 (64-बिट) और ऑफिस 2010 (32-बिट) है। मैंने DSN- कम कनेक्शन स्ट्रिंग के साथ कोशिश की:

jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=I:/TeamForge/ORS/CTFORS.accdb

और मैंने DSN कनेक्शन के साथ कोशिश की, दोनों OD32 एडमिन के System32 और SysWOW64 संस्करणों का उपयोग करके, और उनमें से किसी ने भी काम नहीं किया।

अंत में जो काम किया गया था, वह कार्यालय के बिट संस्करण के साथ जावा के बिट संस्करण से मेल खाना था। एक बार मैंने ऐसा किया, तो मैं या तो DSN या DSN कम कनेक्शन मोड का उपयोग कर सकता था, बिना किसी उपद्रव के।


मैंने इसे Mob के जवाब से निहित किया, लेकिन पुष्टि करने के लिए धन्यवाद। क्या झंझट है!
केविन बोवर्क्स

0

क्या आपने कंट्रोल पैनल> प्रशासनिक उपकरण> ODBC> सिस्टम DSN में पहले DSN बनाया है। इसे "myDatabase" के रूप में नाम दें और यदि मैं डेटाबेस / एक्सेस फ़ाइल का पता लगाने के लिए कह रहा हूं तो ब्राउज़ विकल्प का उपयोग करके पथ निर्दिष्ट करें। एक बार जब उर डीएसएन सफलतापूर्वक बनाया जाएगा तो आप आसानी से उर डीबी तक पहुंच सकेंगे।


मैंने अपने DSN को C: \ Windows \ SysWOW64 में पाए जाने वाले ODBC के साथ बनाया ... कंट्रोल पैनल में एक के पास ड्राइवरों को sql सर्वर के लिए बचाने के लिए लगभग नहीं था।
user1028408

फिर आपको ड्राइवरों को स्थापित करना होगा क्योंकि उन ड्राइवरों के बिना आप ओडीबीसी कनेक्शन नहीं बना सकते।
अंकुर जैन

क्या आपके पास इन ड्राइवरों का लिंक है? मैं कुछ स्थापित करने की कोशिश की है, लेकिन वे काम नहीं किया।
user1028408


मैंने इन्हें डाउनलोड किया और कनेक्शन स्ट्रिंग को प्रतिस्थापित किया: कनेक्शन dbConnection = DriverManager.getConnection ("Driver = {Microsoft Access Driver (*। Mdb, * .accdb)}}; DBQ = C: \\ Owner \\ दस्तावेज़ \\ myDatabase; .mdb "," व्यवस्थापक "," "); लेकिन यह अभी भी मुझे परेशानी दे रहा है। शायद मुझे कोड में कुछ और बदलने की आवश्यकता है?
user1028408

0

यदि आप netbeans का उपयोग कर रहे हैं तो टूल-> जावा प्लेटफ़ॉर्म पर जाएँ, jdk_home बदलें जो c को इंगित करता है: / programfiles / java / jdk1_7 to c: programFiles (x86) / java / jdk1_6_21

अगर संपादन योग्य नहीं netbeans.cnf पाते हैं और jdk_home के लिए बताए गए परिवर्तन करें। नीटबीन को पुनरारंभ करें और यह कैसे काम करता है मुझे वही समस्या थी, लेकिन मैंने काम किया।


0

मुझे 64 बिट लैपटॉप से, विंडोज 7 को चलाने, एमएस एक्सेस 2010 का उपयोग करके MySQL से लिंक करने में बहुत परेशानी हुई। मैंने पिछले लेख को बहुत उपयोगी पाया, लेकिन फिर भी odbc 3.5.1 का उपयोग करके कनेक्ट नहीं हो सका। जैसा कि मैंने पहले कनेक्टर / ODBC 5.1.13 का उपयोग करके एक 32 बिट मशीन को लिंक किया था, मैंने उस संस्करण को डाउनलोड किया और इसे ऊपर दिए गए निर्देशों का उपयोग करके सेट किया। सफलता। ऐसा लगता है कि उत्तर कनेक्टर के विभिन्न संस्करणों की कोशिश कर रहा है।


0

यदि आप 32-बिट ड्राइवर का उपयोग करके 64-बिट प्लेटफ़ॉर्म से कनेक्ट कर रहे हैं, तो निष्पादन योग्य C: \ Windows \ SysWOW64 \ odbcad32.exe चलाएँ और DSN बनाएँ। यह काम करेगा।


0

मैं इस समस्या में भाग गया जब कुछ विरासत CLASP अनुप्रयोगों के साथ विंडोज 7 सर्वर पर अपग्रेड किया गया। 64 बिट मशीन पर 32 बिट अनुप्रयोग चलाने की कोशिश कर रहा है।

ट्रू और / या 32 और 64 बिट में dsn बनाने के लिए एप्लिकेशन पूल 32 बिट संगतता सेट करने का प्रयास करें।

रन बॉक्स से दोनों संस्करणों में odbc डेटा स्रोत विंडो खोलें। C: \ Windows \ SysWOW64 \ odbcad32.exe C: \ Windows \ system32 \ odbcad32.exe


0

मैंने इस समस्या का सामना किया। यह आपके लिए कंप्यूटर आर्किटेक्चर और डेटाबेस आर्किटेक्चर के कारण है।

यदि आप 32 बिट्स ऑपरेटिंग सिस्टम का उपयोग कर रहे हैं, तो सब कुछ अच्छी तरह से काम करता है क्योंकि आप केवल 32 बिट्स सॉफ़्टवेयर स्थापित कर सकते हैं। समस्या तब आती है जब आप 64 बिट्स ऑपरेटिंग सिस्टम का उपयोग कर रहे होते हैं।

इस समस्या को हल करने के लिए सरल है - मुझे इस मुद्दे की खोज में लंबा समय लगा।

  1. आपके ऑपरेटिंग सिस्टम को जानना 64 बिट्स है लेकिन आपका Microsoft Office 32 बिट्स है।
  2. तो आपके लिए NetBean IDE (यह मानते हुए कि आप इसका उपयोग कर रहे हैं) का उपयोग करके अपने डेटाबेस तक पहुँचने के लिए, आपको 32 बिट्स JDK स्थापित करने की आवश्यकता है। यदि आपने 64 बिट्स स्थापित किए हैं, तो आपको इसे अनइंस्टॉल करना होगा और 32 बिट्स इंस्टॉल करना होगा।

आप अपने डेटाबेस तक पहुँचने में असमर्थ हैं क्योंकि आपके 64 बिट्स जेवीएम 32 बिट जेवीएम के समान नहीं हैं।

अपने डेटाबेस को अपने सिस्टम में जोड़ने के लिए 1. कंट्रोल पैनल 2. एडमिनिस्ट्रेटर टूल 3. डेटा सोर्स (ODBC) इस पर राइट क्लिक करें, लक्ष्य को बदलकर \ sysWOW64 \ odbcad32.exe r% \ SysWOW64 में प्रारंभ को बदल दें।

तब आपको दौड़ने में सक्षम होना चाहिए। अगर आपको इससे कोई समस्या है तो मुझे सूचित करें।

धन्यवाद!


0

मैंने त्रुटि ठीक कर ली है।

उनके नक़्शे - कदम पर चलिए:

  1. 32bt संस्करण की JDK स्थापित करें
  2. MS-Office 2007 स्थापित करें
  3. नियंत्रण कक्ष कॉन्फ़िगर करें: ए। नियंत्रण कक्ष b। प्रशासक उपकरण c। डेटा स्रोत (ODBC)

    इस पर राइट क्लिक करें, लक्ष्य को \sysWOW64\odbcad32.exeशुरू में बदलने के लिए बदल देंr%\SysWOW64

इसे एक्सेप्ट करें और बेस्ट लक। विंडोज 7 के साथ-साथ 8 में भी काम करता है

MS-Office का नया संस्करण निकालें और समस्या के बने रहने पर केवल MS-Office 2007 स्थापित करें


0

इस समस्या को हल करने के लिए पहले यह सुनिश्चित करें कि आपका जावा सॉफ्टवेयर 32 बिट संस्करण होना चाहिए, यदि यह 64 बिट संस्करण है तो यह बेमेल त्रुटि दिखाएगा, इसलिए जावा संस्करण के 32 बिट संस्करण को फिर से स्थापित करने का प्रयास करें और c:\windows\sysWOW64\odbcad32.exe(सबसे आसान) के आदेश में जावा प्रोग्राम निष्पादित करें कॉपी और रन डायलॉग में पेस्ट) जो आपके कार्यक्रम को निश्चित रूप से काम करने के लिए पर्याप्त है


0

मुझे लगता है कि यह भी अधिक उपयोगी होगा।

आर्किटेक्चर मिस मैच के लिए,

मैं सिर्फ 32 बिट फ़ाइल C: \ Program Files (x86) \ Java \ jdk1.7.0_71 से jdk फ़ाइल की प्रतिलिपि बनाता हूँ और 64 बिट फ़ाइल C: \ Program Files \ Java \ jdk1.7.0.010 पर चिपकाता हूँ, फिर IDE त्रुटि (netbeans) से बचने के लिए आपके द्वारा प्रतिस्थापित की गई फ़ाइल से मिलान करने के लिए फ़ाइल का नाम बदलें

फिर आपका जाना अच्छा है।

ध्यान दें: आपको 64 बिट्स की फ़ाइलों को बंकअप करना चाहिए ताकि जब आप 64 बिट एप्लिकेशन बनाना चाहें तो आप इसे उसके स्थान पर लौटा सकें


हैकी मैकहैक हैक :(
गैरेथ

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.