PDA

View Full Version : سوال در مورد استفاده از DataSource



mjafari
چهارشنبه 16 فروردین 1385, 17:17 عصر
من در استفاده از DataSourse برای اتصال به پایگاه داده مشکل دارم
ظاهرا همه چیز مطابق کتابها است وای خطی از کد که با /**/ مشخصش کرده ام خطا می دهد.
ممنون اگر کمکم کنید.



IDE : JBuilder 2005
DBMS: MySql 3.23.45
Wb Server : tomcat 5.0.27

1.my server8080.xml (server.xml) is incloded these lines :

<Context debug="0" docBase="someAddress" path="/WebModule1" reloadable="true" workDir="someAddress">
<Resourse name="jdbc/HOMEACCOUNT_DBX" type="javax.sql.DataSource" auth="Container"/>
<ResourseParams name="jdbc/HOMEACCOUNT_DBX">
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost:3306/HomeAccount_DB</value>
</parameter>
</ResourseParams>
</Context>

2. my web.xml file inclode this lines :

<resource-ref>
<res-ref-name>jdbc/HOMEACCOUNT_DBX</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

3. my code is :

Context ctx = new InitialContext();
datasource = (DataSource) ctx.lookup("java:comp/env/"+dataSourceJNDIName);
....
try {
return datasource.getConnection(); /* throws exception*/
}catch (Exception e){

}
4. the exeption and its message are :

org.apache.commons.dbcp.SQLNestedException:
Cannot create JDBC driver of class '' for connect URL 'null'

persianshadow
چهارشنبه 16 فروردین 1385, 19:17 عصر
مشکل از درایور شما هست. میشه بگید که آیا درایورتون رو ست کردید یا نه ؟

mjafari
پنج شنبه 17 فروردین 1385, 10:26 صبح
درایور من Connector/j است. اگر منظورتان از ست کردن قرار دادن jar فایل در Classpath و نیز دایرکتوری مناسب Web Server است، اینکار را از طریق Required Libraries خود JBuilder انجام داده ام.

دو مورد در رد و تایید حدس شما به نظرم می رسد
1. تایید : در میان پیغام خطاهایی که بعد از خطای از خطای پیش گفته می آید یک پیغام not Sutible Driver وجود دارد که من فکر کردم در اثر خطای دیگری ایجاد شده است.
2. رد : من قبل از اینکه سعی کنم از طریق DataSourse به پایگاه داده وصل شوم ، برای اطمینان از درستی سایر اجزاء (DBMS, JDBC Codes, JDBC Driver) به صورت ساده (Class.forName) به پایگاه داده ام وصل شدم و موفق بودم.

اگر این دو مورد مشکل را روشن کرد یا منظورتان از ست کردن چیز دیگری است ممنون می شوم باز هم کمک کنید.

mjafari
دوشنبه 21 فروردین 1385, 14:30 عصر
من Driver را برای Classpath شناسانده ام و jar فایل آن را هم در tomcatdir/common/lib قرار داده ام ولی تغییری ایجاد نشد.
دوستان کمک کنند متشکر می شوم. ‍

rezaTavak
دوشنبه 21 فروردین 1385, 17:59 عصر
درایورتون ممکنه بد دانلود شده باشه. از یک درایور مطمئن استفاده کنید.

چون mysql است از خودش دانلود کن. من یکبار همچین مشکلی برام نیش اومد.

sokoot
سه شنبه 22 فروردین 1385, 13:15 عصر
اگر بدون استفاده از JNDI و با استفاده از Class.forName کار درست انجام شده، مشکل از Driver شما نیست. من جستجو کردم. ظاهرا این مشکلی است که خیلی ها با Tomcat 5.x دارن. در این لینک ها روش هایی مطرح شده. زحمتش با خودت :چشمک:
http://www.theserverside.com/discussions/thread.tss?thread_id=25459
http://www.theserverside.com/discussions/thread.tss?thread_id=29795
http://forum.java.sun.com/thread.jspa?threadID=567630&tstart=15

mjafari
چهارشنبه 06 اردیبهشت 1385, 10:09 صبح
با عرض معذرت من هنوز دست به گریبانم.
بیشتر راهکارهای موجود در لینک ها را بررسی کردم ولی نتیجه نداد

hps
سه شنبه 12 اردیبهشت 1385, 23:51 عصر
یه بار برنامه‌ات رو با Tomcat 5.5.16 امتحان کن، Tomcatهای سری 5 و همین طور گونه‌هائی از 4 این مشکل رو با DS دارن که نمی‌تونن Lookup کنن.

mjafari
چهارشنبه 13 اردیبهشت 1385, 12:49 عصر
آخر قوز بالا قوز ما هم نا توانی در دانلود Java SE5 است که tomcat 5.5 با آن کار می کند
و گرنه tomcat 5.5 را دانلود کرده ام.

hps
چهارشنبه 13 اردیبهشت 1385, 21:21 عصر
دوست عزیز اگه یه مقدار با دقت مستندات رو می‌خوندی می‌دیدی که Tomcat 5.5 یه بسته به نام Compat داده که از JMX تحت نسخه‌های قبل از Java 5.0 پشتیبانی می‌کنه و با قرار دادن JAR مزبور در کنار Bootstrap می‌تونی با JDK 1.4 هم از Tomcat 5.5 استفاده کنی.

mjafari
شنبه 16 اردیبهشت 1385, 07:17 صبح
ممنون از توجه شما . اتفاقا بسته مورد نظر را دانلود و نسب کردم و tomcat 5.5 هم شروع به کار کرد ولی عینا همان خطای tomcat 5.0 را داد.

اگر کسی بتواند کمکم کند لطف بزرگی در حقم کرده است چون پروژه نمونه کارم یک ماه است که معطل مانده است.:گریه: