2011-12-01 4 views
22

मैं एक MySQL के लिए एक डर्बी डेटाबेस को स्वैप कर रहा हूं। मेरे पास पहले सबकुछ काम कर रहा था लेकिन मुझे लगता है कि उचित कॉन्फ़िगरेशन के बाद मुझे त्रुटि मिल रही है:ग्लासफ़िश क्लासपाथ में MySQL डेटाबेस को कनेक्ट करना सेट नहीं है या क्लासनाम गलत है

कारण: javax.resource.ResourceException: कक्षा का नाम गलत है या classpath के लिए सेट नहीं है: com.mysql.jdbc .jdbc2.optional.MysqlDataSource

कंसोल से पूर्ण त्रुटि उत्पादन:

Caused by: javax.resource.ResourceException: Class name is wrong or classpath is not set for : com.mysql.jdbc.jdbc2.optional.MysqlDataSource 
at com.sun.gjc.common.DataSourceObjectBuilder.getDataSourceObject(DataSourceObjectBuilder.java:292) 
at com.sun.gjc.common.DataSourceObjectBuilder.constructDataSourceObject(DataSourceObjectBuilder.java:114) 
at com.sun.gjc.spi.ManagedConnectionFactory.getDataSource(ManagedConnectionFactory.java:1292) 
at com.sun.gjc.spi.DSManagedConnectionFactory.getDataSource(DSManagedConnectionFactory.java:148) 
at com.sun.gjc.spi.DSManagedConnectionFactory.createManagedConnection(DSManagedConnectionFactory.java:101) 
at com.sun.enterprise.resource.allocator.LocalTxConnectorAllocator.createResource(LocalTxConnectorAllocator.java:87) 

मैं डबल नाम, कनेक्शन पूल और अन्य resources.I've में से कुछ देख लिया है भी MySQL चालक .jars जोड़ा दोनों परियोजनाओं में ग्लासफिश की पुस्तकालय के लिए। डेटाबेस निश्चित रूप से ग्रहण के माध्यम से सही ढंग से काम कर रहा था क्योंकि मैं टेबल देखने और ग्रहण के डेटाबेस संदर्भ के अंदर संसाधनों को प्रदर्शित करने में सक्षम था। तो मुझे पता है कि कम से कम THOSE ड्राइवर काम कर रहे हैं। इसके अलावा persistence.xml फ़ाइल अच्छी लगती है। यह jdbc/mydatabase jndi संदर्भ को संदर्भित करता है जैसे कि इसे डिफ़ॉल्ट और जेटीए को मानसिक प्रकार के रूप में चुना जाना चाहिए।

क्या किसी के पास कोई और सुझाव है? धन्यवाद

+0

यह लगभग एक ही बात कहता है: mysqlstatuspool के लिए पिंग कनेक्शन पूल विफल है। पिंग अपवाद विफल रहा - कक्षा का नाम गलत है या classpath के लिए सेट नहीं है: com.mysql.jdbc.jdbc2.optional.MysqlDataSource कृपया अधिक जानकारी के लिए server.log देखें। पिंग विफल रहा – Randnum

+0

जब मैं डर्बी डेटाबेस का उपयोग कर रहा था, तो मुझे इस कनेक्शन पूल के लिए मैन्युअल रूप से क्लासपाथ सेट नहीं करना पड़ा था, इसलिए मुझे उम्मीद है कि अगर कोई सोचता है कि मुझे ऐसा करना है तो वे बता सकते हैं कि संसाधन कहां है और कैसे वास्तव में ऐसा करने के लिए। – Randnum

+0

डेटा स्रोत classname: com.mysql.jdbc.jdbc2.optional.MysqlDataSource व्यवस्थापक विंडो में मेरे लिए स्वतः जेनरेट किया गया था इसलिए मैं उस का चयन नहीं किया और जहां यह आया से पता नहीं है। – Randnum

उत्तर

35

I've also added the MySQL driver .jars to the library of glassfish in both projects.

यह स्पष्ट रूप से सही नहीं किया गया था। JAR को ग्लासफ़िश स्थापना के /glassfish/domains/[domainname]/lib/ext फ़ोल्डर में जाना है जहां [domainname] आमतौर पर domain1 पर डिफ़ॉल्ट हो जाता है। आप इसे ग्रहण पक्ष से कॉन्फ़िगर कर सकते हैं और इसे कॉन्फ़िगर नहीं करना चाहिए।

+0

ठीक है मैंने इसे इस तरह से नहीं जोड़ा है। मैंने इसे ग्रहण में ग्लासफ़िश लाइब्रेरी पर और उपयोगकर्ता पुस्तकालयों में नई कनेक्टर लाइब्रेरी का चयन करके और वहां से अपना जार चुना।मैं आपके सुझाव का प्रयास करूंगा। धन्यवाद – Randnum

+1

उन परिवर्तनों को पूर्ववत करें। – BalusC

+0

धन्यवाद बलुस ने बहुत अच्छा काम किया। – Randnum

21

ऐसा लगता है कि मैं बहुत देर से जवाब दे रहा हूं, लेकिन हालांकि जो लोग इस धागे का जिक्र करेंगे, वे निम्नलिखित जानकारी उपयोगी हो सकते हैं। इसलिए मैं इसे यहाँ पोस्ट कर रहा हूँ:

  1. से http://dev.mysql.com/downloads/connector/j/5.0.html
  2. पैक अनज़िप कनेक्टर जार डाउनलोड करें और एक ही अतीत mysql-कनेक्टर-जावा-verno-bin.jar
  3. नकल पर [ग्लासफिश स्थापना निर्देशिका]/डोमेन/[डोमेन नाम]/lib फ़ोल्डर
  4. पुनः आरंभ करने के लिए अपने डोमेन और पिंग JDBC कनेक्शन ताल

ये लीजिए में अपने कनेक्शन की जांच करने के लिए। यदि आपका MySQL चल रहा है तो यह डीबी सफलतापूर्वक

+3

डोमेन को पुनरारंभ करने से कनेक्शन पूल के सभी अतिरिक्त गुणों को रीफ्रेश नहीं किया गया था। (मैंने जार ओवर की प्रतिलिपि बनाने से पहले पूल बनाया था।) किसी के लिए यह जानना उपयोगी हो सकता है कि आपको जार ओवर की प्रतिलिपि बनाने के बाद पूल को फिर से बनाना चाहिए। ऐसा करने के बाद सबकुछ मेरे लिए काम करता था। – w3bshark

5

मैंने जार फ़ाइल को $glassfish_install_folder\glassfish\lib पर कॉपी किया, इसके बाद यह काम किया। मैं ग्लासफ़िश 4.0 का उपयोग करता हूं।

ओरैकल से link देखें।

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