2010-08-06 11 views
7

के साथ फायरबर्ड कनेक्शन मैंने विंडोज एक्सपी पर फायरबर्ड 2.1 स्थापित किया है और जावा से कनेक्ट करने के लिए firebirdsql.jdbc-2.1.6 ड्राइवर का उपयोग किया है। कोड:जावा

Class.forName("org.firebirdsql.jdbc.FBDriver"); 

connection = DriverManager.getConnection(
    "jdbc:firebirdsql://localhost/3050//C:/firebird/database/EMPLOYEE.FDB", 
    "test","test"); 

मैं त्रुटि निम्न हो रही है:

 
Caused by: org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544375. 
unavailable database 
Reason: unavailable database at 
org.firebirdsql.jdbc.FBDataSource.getConnection(FBDataSource.java:122) at 
org.firebirdsql.jdbc.FBDriver.connect(FBDriver.java:140) at 
java.sql.DriverManager.getConnection(DriverManager.java:525) at 
java.sql.DriverManager.getConnection(DriverManager.java:171) 

कृपया मदद करते हैं।

समस्या हल: वास्तव में मुझे लगता है कि मैं

http://mirrors.ibiblio.org/pub/mirrors/maven2

से मिला मैं Firebird आधिकारिक वेबसाइट और समस्या से jaybird-पूर्ण 2.1.6.jar डाउनलोड किया हल हो गया जार फ़ाइल के साथ समस्या थी।

सही URL

"jdbc:firebirdsql://localhost:3050/C:\\firebird\\database\\EMPLOYEE.FDB" 

कि मैंने पहले भी इस URL की कोशिश की लेकिन यह जार मुद्दे की वजह से काम नहीं कर रहा था।

+0

पुन: स्वरूपित कोड; अगर गलत है तो कृपया वापस करें। प्रारूपण के लिए – trashgod

+0

धन्यवाद! –

+1

प्रश्न में "समस्या हल" अनुभाग को न जोड़ें, इसे इसके बजाय उत्तर के रूप में पोस्ट करें और इसे स्वीकार करें। धन्यवाद! – bluish

उत्तर

0

आपका यूआरएल इस ड्राइवर के लिए सबसे अधिक संभावना है।

जार में वास्तविक स्रोत संलग्न करें और FBDataSource.getConnection (...) में ब्रेकपॉइंट सेट करें और देखें कि कनेक्शन का प्रयास होने पर वास्तव में कौन से मान मौजूद हैं।

क्या आप बिल्कुल निश्चित हैं कि पोर्ट के साथ होस्टनाम का संयोजन एफडीबी-फाइल के पथ से सहमत है?

+0

मैं एफडीबी फ़ाइल के पथ के साथ कनेक्शन पैरामीटर के बारे में निश्चित रूप से निश्चित हूं। –

1

@ थोरबोजर्न रावण एंडर्सन के रूप में, आपका Jaybird JDBC URL गलत है। वाक्यविन्यास jdbc:firebirdsql:[host[/port]:]<database> है। आपको होस्ट/पोर्ट और डेटाबेस पथ के बीच एक कोलन की आवश्यकता है। शायद इस तरह कुछ:

"jdbc:firebirdsql://localhost/3050:C:\\firebird\database\EMPLOYEE.FDB" 

ओह, मैंने प्रमुख स्लेश में छोड़ा; इस प्रयास करें:

"jdbc:firebirdsql:localhost/3050:C:\\firebird\database\EMPLOYEE.FDB" 

परिशिष्ट: आप common errors सूची के माध्यम से चला सकता है। साथ ही, मेरी फायरबर्ड डेटाबेस फ़ाइलें .fdb में समाप्त होती हैं, लेकिन एफएक्यू में .gdb का उल्लेख है। यह जांच करने के लिए चोट नहीं पहुंचा सकता है।

+0

मैंने आपके द्वारा निर्दिष्ट यूआरएल सहित सभी विकल्पों का प्रयास किया है .. कुछ भी काम नहीं कर रहा है .. –

+0

क्या फायरबर्ड पोर्ट 3050 पर चल रहा है? क्या आप किसी अन्य माध्यम से कनेक्ट कर सकते हैं, उदा। आईएसक्यूएल या जीयूआई क्लाइंट? – trashgod

+0

मैं isql और flameRobin..it से कनेक्ट कर सकता हूं 3050 बंदरगाह पर चल रहा है .. मैंने एक नया डेटाबेस बनाने की कोशिश की है ... विंडोज़ फ़ायरवॉल बंद करना .. सिस्टम 32 में डीपीएल को कॉपी करना (जैसा कि फायरबर्ड समर्थन समूह पर निर्दिष्ट है) .. –

0

इस साइट पर प्रलेखन को देखते हुए: http://www.firebirdsql.org/file/documentation/drivers_documentation/java/faq.html, मद 3.1

ऐसा लगता है कि बाद [पोर्ट], आप एक स्लैश "/" या डबल स्लैश होना आवश्यक है "//" मामले में आप जोड़ेगी एक लिनक्स सर्वर पर।

0

https://www.firebirdsql.org/file/documentation/drivers_documentation/java/faq.html#pure-java-default

डिफ़ॉल्ट यूआरएल प्रारूप से:

"jdbc:firebirdsql://host[:port]/<database>" 

पदावनत, लेकिन अभी भी समर्थित विरासत URL स्वरूप:

"jdbc:firebirdsql:host[/port]:<database>" 

फिर, सही URL होना चाहिए:

"jdbc:firebirdsql://localhost:3050/C:/firebird/database/EMPLOYEE.FDB" 
0

रिमोट मशीन या क्लाउड (लिनक्स) पर स्थित डेटाबेस से कनेक्ट करने के लिए निम्न लिंक का उपयोग करें।

JDBC: firebirdsql: 34.212.208.251/3050: /opt/app/db/sample_training.fdb