PDA

View Full Version : نحوی وصل شدن به SqlServer 2008



F.zeinali
جمعه 21 بهمن 1390, 14:23 عصر
سلام
من می خوام به SqlServer از طریق جاوا وصل بشم
بیشتر مشکلم هم Class.forName()و اونجایی هست که باید Connectio,UserID,Password بدیم هستش
خیلی سرچ کردم اما هر روشی رو رفتم ، نشد
لطفا راهنمایی کنید

spiderman200700
جمعه 21 بهمن 1390, 16:02 عصر
سلام.
من اینجوری راحت وصل میشم.

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
connectionUrl = "jdbc:sqlserver://localhost:1433; databaseName=YourDatabaseName;";

connection = DriverManager.getConnection(connectionUrl, "user", "pass");


فقط باید یادت باشه که حتما:
1.SQLJDBC رو به لایبراری پروژت اضافه کنی.
2.توی SQLServer یه لاگین که به Databaseت دسترسی داشته باشه بسازی و user و pass این لاگین رو توی کدی که بهت دادم وارد کنی.

اینجوری انشالله مشکلی پیش نمیاد.

F.zeinali
جمعه 21 بهمن 1390, 17:18 عصر
ممنون دوست عزیز از جوابتون ولی من چند تا مشکل دارم الان ، لطفا راهنمایی کنید
1_من از Eclipse استفاده می کنم و وقتی می نویسم Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433; databaseName=Mali;", "sa", "0731");
میگه باید به جای Connection بنویسی java.sql.Connection یعنی خط زیر رو دارم
java.sql.Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433; databaseName=Mali;", "sa", "0731");

سوال بعدی اینه که چرا به جای myDatabase می نویسیم localhost:1433 ؟؟این 1433 چیه؟
سوال بعد اینکه منظور شما از "SQLJDBC رو به لایبراری پروژت اضافه کنی." چیه؟ یعنی باید چیکار کنم؟

ممنون

spiderman200700
جمعه 21 بهمن 1390, 17:46 عصر
در مورد سوال اول شما باید کلاس Connection رو وارد برنامت کنی، تا دیگه ازت نخواد که مسیر کامل رو بنویسی.
همونطور که میدونی ، برای وارد کردن کلاس Connection به برنامه باید دستور زیر رو قبل از تعریف کلاس بنویسی:
import java.sql.Connection;

در مورد سوال دوم هم، localhost:1433 یا 127.0.0.1:1433 ، نام ip و portی هست که SQLServer به دستورات شما (همون انجام عملیات روی Database) گوش میده.اگه از SQLServer برنامه های تحت شبکه استفاده کنی ، برای کلاینت ها ، این آدرس عوض میشه.

در مورد سوال سوم هم، SQLJDBC یه کتابخانه هست برای ارتباط برنامه های جاوا با SQLServer . این کتاب خانه به صورت یه فای با پسوند JAR هست. که باید از قسمت Libraries پروژت اونو به پروژت اضافه کنی.

F.zeinali
جمعه 21 بهمن 1390, 18:01 عصر
در مورد سوال دوم هم، localhost:1433 یا 127.0.0.1:1433 ، نام ip و portی هست که SQLServer به دستورات شما (همون انجام عملیات روی Database) گوش میده.اگه از SQLServer برنامه های تحت شبکه استفاده کنی ، برای کلاینت ها ، این آدرس عوض میشه.
یعنی این مقدار همیشه برای کلاینت ها ثابته؟


در مورد سوال سوم هم، SQLJDBC یه کتابخانه هست برای ارتباط برنامه های جاوا با SQLServer . این کتاب خانه به صورت یه فای با پسوند JAR هست. که باید از قسمت Libraries پروژت اونو به پروژت اضافه کنی.
چطور باید این کا رو بکنم من مراحل زیر رو رفتم اما چیزی پیدا نشد
1_ روی JRE System Librery[jre7] پروژه راست کلیک کردم و Import رو زدم و در قسمت Select an import Source نوشتم SQLJDBC اما چیزی پیدا نکرد؟ باید چیکار کنم؟
ممنون

spiderman200700
جمعه 21 بهمن 1390, 18:29 عصر
اون آدرس برای شماست که SQLServer روی سیستمتون نصبه. اگه SQLServer روی یه سیستم دیگه روی شبکه نصب باشه، اونوقت اون آدرس تبدیل به آدرس سرور میشه که SQLServer روش نصبه.

SQLJDBC رو باید دانلود کنی . من قبلا توی تایپک زیر آدرس دانلودشو گذاشتم.
باید فایل رو unzip کنی و آدرس یکی از فایل های sqljdbc یا sqljdbc4 رو import کنی.

http://barnamenevis.org/showthread.php?318253-%D9%86%D8%AD%D9%88%D9%87-%D8%A7%D8%B1%D8%AA%D8%A8%D8%A7%D8%B7-%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87-%D8%AF%D8%A7%D8%AF%D9%87-%D8%A8%D8%A7-%D8%AC%D8%A7%D9%88%D8%A7&p=1397009&viewfull=1#post1397009

F.zeinali
یک شنبه 23 بهمن 1390, 10:51 صبح
اون آدرس برای شماست که SQLServer روی سیستمتون نصبه. اگه SQLServer روی یه سیستم دیگه روی شبکه نصب باشه، اونوقت اون آدرس تبدیل به آدرس سرور میشه که SQLServer روش نصبه.

SQLJDBC رو باید دانلود کنی . من قبلا توی تایپک زیر آدرس دانلودشو گذاشتم.
باید فایل رو unzip کنی و آدرس یکی از فایل های sqljdbc یا sqljdbc4 رو import کنی.

http://barnamenevis.org/showthread.php?318253-%D9%86%D8%AD%D9%88%D9%87-%D8%A7%D8%B1%D8%AA%D8%A8%D8%A7%D8%B7-%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87-%D8%AF%D8%A7%D8%AF%D9%87-%D8%A8%D8%A7-%D8%AC%D8%A7%D9%88%D8%A7&p=1397009&viewfull=1#post1397009


دوست عزیز من SqlJdbc رو دانلود کردم و اونو Unzip هم کردم که حاصل این کار فایلی به اسم Microsoft SQL Server JDBC Driver 3.0 بود
حالا من کدوم قسمتو باید به پروژم اضافه کنم

spiderman200700
یک شنبه 23 بهمن 1390, 16:20 عصر
داخل پوشه ی enu ، دو تا فایل هست که پسوندشون JAR هست.
هر کدوم از اون دوتا رو اضافه کنه مشکلی نداره.

F.zeinali
دوشنبه 24 بهمن 1390, 20:03 عصر
داخل پوشه ی enu ، دو تا فایل هست که پسوندشون JAR هست.
هر کدوم از اون دوتا رو اضافه کنه مشکلی نداره.

دوست عزیز فایلی که من دانلود کردم ، شامل فایلی با پسوند jar نیست ، عکس شو زیر گذاشتم
http://s1.picofile.com/file/7297125478/JDBC.png

در ضمن من چطور باید این فایل ها رو به پروژم اضافه کنم؟
با تشکر

spiderman200700
دوشنبه 24 بهمن 1390, 21:47 عصر
شما تنظیمات مربوط به نمایش پسوند فایل ها در ویندوز رو غیر فعال کردی به خاطر همین پسوند فایلها رو نمیبینی.

شما هر کدوم از فایلهای sqljdbc یا sqljdbc4 رو به پروژه اضافه کنی مشکلی نداره.
برای اضافه کردن هم باید از همون راهی که توی پست 5 همین تایپک خودت گفتی، استفاده کنی.

F.zeinali
دوشنبه 24 بهمن 1390, 22:55 عصر
برای اضافه کردن هم باید از همون راهی که توی پست 5 همین تایپک خودت گفتی، استفاده کنی.
دوست عزیز من نتونستم اگه امکانش هست ، لطف کنید عکسشو اینجا بزارید که من چطور باید این کارو انجام بدم
ممنون

spiderman200700
دوشنبه 24 بهمن 1390, 23:50 عصر
من با NetBeans کار میکنم.
اگه واستون فرق نداره، نحوه ی اضافه کردن sqljdbc رو با NetBeans واستون میذارم.

F.zeinali
سه شنبه 25 بهمن 1390, 00:05 صبح
من با NetBeans کار میکنم.
اگه واستون فرق نداره، نحوه ی اضافه کردن sqljdbc رو با NetBeans واستون میذارم.

خیلی ممنون از شما دوست عزیز
من از یوتیوب یه چیزایی دیدم ولی زیاد مطمئن نیستم که درسته یا نه ، حالا عکساشو میزارم اینجا ، درست یا غلطشو شما و سایر دوستان بگین
http://s1.picofile.com/file/7297565371/Untitled1.png
http://s1.picofile.com/file/7297566127/Untitled2.png
http://s1.picofile.com/file/7297566983/Untitled3.png
http://s1.picofile.com/file/7297567846/Untitled4.png
http://s1.picofile.com/file/7297570000/Untitled5.png
http://s1.picofile.com/file/7297571070/Untitled6.png

spiderman200700
سه شنبه 25 بهمن 1390, 00:22 صبح
درست یادم نیست(من سه ساله با Eclipce کارنکردم). ولی فکر کنم باید توی توی عکس دوم، Archive File رو انتخاب کنی ، و یکی از دو فایلی رو که بهت گفتم اضافه کنی.

F.zeinali
سه شنبه 25 بهمن 1390, 12:49 عصر
درست یادم نیست(من سه ساله با Eclipce کارنکردم). ولی فکر کنم باید توی توی عکس دوم، Archive File رو انتخاب کنی ، و یکی از دو فایلی رو که بهت گفتم اضافه کنی.
لطفا بگید که چرا کدهای زیر داره خطا میگیره!!!




import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.xml.transform.Result;


public class JDBCcon {


public static void main(String[] args) {
String connecttiobString="jdbc:sqlserver:localhost:1433;" +
"databaseName=Northwind;user=sa;password=0731";

Connection con=null;
Statement stat=null;
ResultSet rs=null;
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con=DriverManager.getConnection(connecttiobString) ;

String SQl="Select top 5 ProductName from Products";
stat=con.createStatement();
rs=stat.executeQuery(SQl);
while(rs.next()){
System.out.println("OK");

}

} catch (Exception e) {
e.printStackTrace();


}
finally{
if(rs!=null)
{
try
{
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
if(stat!=null)
{
try
{
stat.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
if(con!=null)
{
try
{
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}

}

}

}


اینم عکس Errorهایی که میده


http://s1.picofile.com/file/7298152896/Untitled7.png


java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at JDBCcon.main(JDBCcon.java:19)

F.zeinali
سه شنبه 25 بهمن 1390, 12:54 عصر
داره از Class.forName() من Error میگیره!
باید چیکارش کنم؟

F.zeinali
سه شنبه 25 بهمن 1390, 13:23 عصر
الان دیگه Class.forName() من ایراد نمیگیره (سری قبل فایل jar رو اشتباه Add کرده بودم ولی الان درستش کردم)

اما الان داره از
con=DriverManager.getConnection(connecttiobString) ;
ایراد میگره
باید چیکارش کنم؟