PDA

View Full Version : JDBC جیست و ...



rezaTavak
شنبه 08 اسفند 1383, 22:23 عصر
سلام

برای برنامه نویسی بانکها جاوا یک سری کلاس به اسم SQL داره. اون با JDBC فرق داره؟

آیا ODBC اون نرم افزار هم باید نصب باشه؟

hps
دوشنبه 10 اسفند 1383, 18:09 عصر
برای برنامه نویسی بانکها جاوا یک سری کلاس به اسم SQL داره. اون با JDBC فرق داره؟

اگه منظورت کلاس‌هاى بسته java.sql.* باشن، نه اینا همون رابط‌هاى JDBC هستن.



آیا ODBC اون نرم افزار هم باید نصب باشه؟

1. کدوم نرم‌افزار ؟
2. اگه بخواى از طریق ODBC (اصطلاحا بهش مى‌گن JDBC-ODBC Bridge) به بانک اطلاعاتى وصل بشى باید ODBC رو داشته باشى وگرنه به طور کلى براى کار کردن با هر نوع بانک اطلاعاتى توى Java باید JDBC Driver اون رو داشته باشى و این موضوع ربطى به ODBC نداره.


براى مطالعه مى‌تونى از کتاب Professional Java Data از انتشارات Wrox استفاده کنى، کتاب کامل و مفصلیه. هر چند که اگر بگردى مقاله و مثال روى اینترنت کم نیست مثل این یکى که مرجع نسبتا کاملیه:

http://java.sun.com/developer/onlineTraining/Database/JDBC20Intro/JDBC20.html

rezaTavak
سه شنبه 11 اسفند 1383, 21:48 عصر
:flower:

javacaran
دوشنبه 24 اسفند 1383, 16:19 عصر
این هم سهم من
http://java.sun.com/j2se/1.5.0/docs/guide/jdbc/index.html
:D :flower:

vip_on_the_web
پنج شنبه 04 فروردین 1384, 02:09 صبح
jdbc(java database connectively) معادل جاوایی odbc هست! jdbc یه استاندارد برای برقراری ارتباط با بانک اطلاعاتی و تغییر و query از اونه,گرچه jdbc یه استاندارد تقریبا سطح پایین محسوب میشه(یا به عبارت دیگه بقیه تکنولوژیهای کار با db در java با استفاده از اون کار میکنن) ولی کار با اون ساده هست.

zahra latifi
شنبه 17 شهریور 1386, 13:57 عصر
با سلام
مدتی است که برنامه نویسی با جاوا را آغاز کرده ام البته با IDE، , eclips و حالا که به قسمت JDBC ان رسیده ام با error مواجه شده ام که امیدوارم با توضیحاتی که برایتان می دهم بتوانید کمکم کنید .

DB مورد استفاده شده که در آن جداول را طراحی کرده ام SQL Server 2000 می باشد . برنامه Microsoft SQL Server 2000 Driver for JDBC را هم نصب و سه فایل msbase.jar,masqlserver.jar,msutil.jar را به کتابخانه آن اضافه نمودم و کد زیر را برای آن نوشته ام اما در com.microsoft به من error می دهد که با کلیک بر روی آن پیام com.microsoft cannot be resolved to a type می دهد که با اجرای برنامه خطا دار در صفحه اجرا پیام های

Exception in thread "main" java.lang.Error: Unresolved compilation problem:
com.microsoft cannot be resolved to a type

at main.DB.<init>(DB.java:14)
at main.DB.main(DB.java:36)
برایم نمایش داده می شود

rezaTavak
شنبه 17 شهریور 1386, 20:29 عصر
دوست عزیز اصلا معلوم نیست چی به چیه.

پستتون را درست کنید.

zahra latifi
یک شنبه 18 شهریور 1386, 10:43 صبح
با سلام
با محیط eclipse کار می کنم و در قسمت JDBC به مشکل برخوردم .
نرم افزار Microsoft SQL Server 2000 Driverfor JDBC را هم نصب کرده ام و msbase.jar,masqlserver.jar,msutil.jar را هم اضافه نموده ام . DB که استفاده کرده ام هم SQL server 2000 است . وقتی کد ها رو می نویسم درخط com.microsoft به منerror می دهد که باکلیک بر روی آن پیام com.microsoft cannot be resolved to a type نمایش داده می شود .

و با اجرای برنامه پیغام زیر نمایش داده می شود
Exception in thread "main" java.lang.Error: Unresolved compilation problem: com.microsoft cannot be resolved to a type
at main.DB.<init>DB.java:14
at main.DB.main( DB.java:36'
مشکل من در قسمت connection با DB است .
کدی که برای اتصال نوشتم از روی help خود driver نوشتم اگر فکر می کنید مشکل از کد است آدرس email بدید تا براتون ارسال کنم .
با تشکر از شما دوستان منتظر راهنمایی های شما هستم

rezaTavak
یک شنبه 18 شهریور 1386, 18:23 عصر
راستش من نمیدونم اشکال از کجاست چون با M$SQL کار نکرده ام.

من از MySQL استفاده میکنم.

اما باید مرحله به مرحله پیش برویم:
۱- آیا فایل درایور JDBC در مسیر حستجوی جاوا است؟
۲- کلاسها اضافه شده اند؟ دستور Class.forName
۳ - connection ساخته شده است؟
۴ - statement ساخته شده است؟
۵- و...

در هر قسمت یک try و catch بگذارید.

نمونه برای mysql



/*
* firstmysql.java
*
* Created on March 10, 2005, 9:57 PM
*/


import java.sql.*;
/**
*
* @author venus1
*/
public class firstmysql {

static String[] SQLData =
{
"(1, 'John', 'Mon', 1, 'JustJoe')",
"(2, 'JS', 'Mon', 1, 'Cappuccino')",
"(3, 'Marie', 'Mon', 2, 'CaffeMocha')",
"(4, 'Anne', 'Tue', 8, 'Cappuccino')",
"(5, 'Holley', 'Tue', 2, 'MoJava')",
"(6, 'jDuke', 'Tue', 3, 'Cappuccino')",
"(7, 'Marie', 'Wed', 4, 'Espresso')",
"(8, 'JS', 'Wed', 4, 'Latte')",
"(9, 'Alex', 'Thu', 3, 'Cappuccino')",
"(10, 'James', 'Thu', 1, 'Cappuccino')",
"(11, 'jDuke', 'Thu', 4, 'JustJoe')",
"(12, 'JS', 'Fri', 9, 'Espresso')",
"(13, 'John', 'Fri', 3, 'Cappuccino')",
"(14, 'Beth', 'Fri', 2, 'Cappuccino')",
"(15, 'jDuke', 'Fri', 1, 'Latte')"
};

public static void main(String[] args)
{
Connection con = null;
int iRowCount = 0;
Statement stmt = null;

String sDriver =
"com.mysql.jdbc.Driver";
String sURL =
"jdbc:mysql://localhost/test?user=j&password=j";
String sUsername = "";
String sPassword = "";

try // Attempt to load the JDBC driver
{ // with newInstance
Class.forName( sDriver ).newInstance();
System.out.println("Success! WelCome ");
}
catch( Exception e ) // error
{
System.err.println(
"Failed to load current driver.");
return;
} // end catch
try
{

con = DriverManager.getConnection ( sURL,
sUsername,
sPassword);
stmt = con.createStatement();
}
catch ( Exception e)
{
System.err.println( "problems connecting to " +
sURL + ":" );
System.err.println( e.getMessage() );

if( con != null)
{
try { con.close(); }
catch( Exception e2 ) {}
}

return;
} // end catch
// to allow the program to be run more than once,
// attempt to remove the table from the database
try
{
stmt.executeUpdate( "DROP TABLE JJJJData" );
System.out.println(
"Table JJJJData was removed.");
}
catch ( Exception e ) { /* don't care */ }


// execute SQL commands
// to create table and insert data
try
{
stmt.executeUpdate( "CREATE TABLE JJJJData (" +
"Entry INTEGER NOT NULL, " +
"Customer VARCHAR (20) NOT NULL, " +
"DOW VARCHAR (3) NOT NULL, " +
"Cups INTEGER NOT NULL, " +
"Type VARCHAR (10) NOT NULL," +
"PRIMARY KEY( Entry )" +
")" );

System.out.println(
"Table JJJJData was created.");

for (int i = 0; i < SQLData.length; i++)
{
iRowCount +=
stmt.executeUpdate(
"INSERT INTO JJJJData VALUES " +
SQLData[i] );
}

System.out.println( iRowCount +
" Rows inserted into JJJJData.");

}
catch ( Exception e )
{
System.err.println(
"problem with SQL sent to " + sURL + ":" );
System.err.println( e.getMessage() );
}
finally
{
try { stmt.close(); }
catch( Exception e ) {}

try { con.close(); }
catch( Exception e ) {}
} // end finally clause



}
}

qoqnoos
پنج شنبه 08 فروردین 1387, 17:02 عصر
مسیر حستجوی جاوا کجا می شد؟
منظور برای نصب درایور my sql کجا باید فایل ها ش را کپی کنیم.

rezaTavak
جمعه 09 فروردین 1387, 20:39 عصر
JREHOME_/lib/ext