View Full Version : مشکل در دربی
ashkanksh
پنج شنبه 15 دی 1390, 23:31 عصر
سلام
یه مشکلی هست که کلا واسم جالبه!
دوستان هر جا در مورد دربی گشتم دو نوع کانکت شدن داشت یکی با derbyclient یکی با derby.jar که توی خود نت بینز دومی رو embedded نوشته کنارش! بعد ی اتفاق جالب واسه من میفته! توی دیتابیس هایی که با درایور کلاینت ساختم کانکت که میشم کار میکنه و مشکلی ندارم
ولی وقتی میخوام به اون یکی وصل شم(embedded) ارور میده که تیبلش نیست! جالب اینجاست که اگر result ازش نخوام یا نخوام چیزی اضافه کنم وصل میشه و ارور نداره! اما اگر دستوری بفرستم کاری نمیکنه و میگه اون جدول مورد نظر وجود نداره!
مشکل از نوع وصل شدن نیست! جدول هم وجود داره، اما نمیدونم چرا میگه وجود نداره! باید جار فایل دیگه ای بجز درایور مورد نظر اضافه کنم که نکردم؟
و سوال دیگه ای که هست اینه که اگز از derbyclient استفاده کنم بعد پروژه جای دیگه که دیتابیسش رو نداشته باشن قابل اجرا نیست دیگه؟
L u k e
جمعه 16 دی 1390, 00:02 صبح
خوب مفعوم embeded همین هست دیگه نیاز به نصب نداره و فقط به اون jar فایل ه نیاز داره
گذاشته از تمامی این مشکلات من با derby کار کردم و مشکلاتی برخوردم و رفتم سراغ DataBase های دیگه مثل h2
ashkanksh
جمعه 16 دی 1390, 10:23 صبح
اره خب! ولی مشکل اینه که من مجبورم از دربی استفاده کنم!
نمیدونید مشکل می تونه از کجا باشه؟ دیتابیس رو وصل میشه، تیبلش رو میگه پیدا نمیکنم! ولی اگر همون تیبل رو توی ی دیتابیس غیر embedded بذارم درست کار میکنه.
ارور هاش ایناست: java.sql.SQLSyntaxErrorException: Table/View 'TH' does not exist.
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.g etSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.Util.generateCsSQLExcep tion(Unknown Source)
at org.apache.derby.impl.jdbc.TransactionResourceImpl .wrapInSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.TransactionResourceImpl .handleException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.handleE xception(Unknown Source)
at org.apache.derby.impl.jdbc.ConnectionChild.handleE xception(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedStatement.execute( Unknown Source)
at org.apache.derby.impl.jdbc.EmbedStatement.executeQ uery(Unknown Source)
at h2.H2.main(H2.java:26)
Caused by: java.sql.SQLException: Table/View 'TH' does not exist.
at org.apache.derby.impl.jdbc.SQLExceptionFactory.get SQLException(Unknown Source)
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.w rapArgsForTransportAcrossDRDA(Unknown Source)
... 9 more
Caused by: ERROR 42X05: Table/View 'TH' does not exist.
at org.apache.derby.iapi.error.StandardException.newE xception(Unknown Source)
at org.apache.derby.impl.sql.compile.FromBaseTable.bi ndTableDescriptor(Unknown Source)
at org.apache.derby.impl.sql.compile.FromBaseTable.bi ndNonVTITables(Unknown Source)
at org.apache.derby.impl.sql.compile.FromList.bindTab les(Unknown Source)
at org.apache.derby.impl.sql.compile.SelectNode.bindN onVTITables(Unknown Source)
at org.apache.derby.impl.sql.compile.DMLStatementNode .bindTables(Unknown Source)
at org.apache.derby.impl.sql.compile.DMLStatementNode .bind(Unknown Source)
at org.apache.derby.impl.sql.compile.CursorNode.bindS tatement(Unknown Source)
at org.apache.derby.impl.sql.GenericStatement.prepMin ion(Unknown Source)
at org.apache.derby.impl.sql.GenericStatement.prepare (Unknown Source)
at org.apache.derby.impl.sql.conn.GenericLanguageConn ectionContext.prepareInternalStatement(Unknown Source)
... 3 more
کدم هم اینه: try {
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
Connection dbConnection = null;
String strUrl = "jdbc:derby:CustDB;create=true;user=app;password=ap p";
try {
dbConnection = DriverManager.getConnection(strUrl);
} catch (SQLException sqle) {
sqle.printStackTrace();
}
Statement stm = null;
try {
stm = dbConnection.createStatement();
ResultSet rs= stm.executeQuery("select * from th");
System.out.print(rs.getInt(1));
// stm.execute("insert into person values(1,'s')");
stm.close();
dbConnection.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
} catch (ClassNotFoundException ex) {
Logger.getLogger(H2.class.getName()).log(Level.SEV ERE, null, ex);
}
L u k e
جمعه 16 دی 1390, 11:32 صبح
خوب از ارورش معلومه دیگه Table رو پیدا نمی کنه
NetBeans
یه بخش واسه کار با Db داره که می تونید دیتابیستون رو اونجا وارسی کنید و QUery بنویسید
باید اول ببینید که DAtabase تون تو چه شاخه ای ه تو اونجایی که من یادمه نمی تونسی همینطوری اسم Db رو بنویسی مثل اگه Table تون رو تو بخش APp بسازید باید هر جا اسم Table رو می نویسید باید قبلش App رو بزنید مثلا اینجا می شه :
Select * from app.th
و یه چیزی هست که به بزرگ کوچیک حساسه تا اونجایی که یادمه مثلا این Field ها و Table ها رو باید دقیقا همینطوری که وارد کردی بنویسی
ashkanksh
جمعه 16 دی 1390, 15:31 عصر
آره آشنا هستم با اون قسمتی که میگی! ولی جالبیش اینه اگر دستور ها رو همونجا بزنم کار میکنه و هیچ مشکلی نداره!
راجع به حساس بودن به کوچک بزرگی هم امتحان کردم و همون جایی که جدول رو ساختم هم آدرس دادم بازم...
نمیدونم! واقعا عجیبه واسم!
مرسی به هر حال. شاید از اضافه کردن یک جار فایل خاص باشه! ی جا ی چیزی بود!
L u k e
جمعه 16 دی 1390, 16:28 عصر
اگه می شه پروژه تو بزار تا بررسی کنم ببینم چشه
ashkanksh
جمعه 16 دی 1390, 20:21 عصر
لینکش (http://www.mediafire.com/?47ie3qx1tm31yyb)! مرسی لطف میکنی
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.