java连接sql server 2008和连接sql server 2008(完整版)
找了好多资料,对于新手,操作不凑都非常齐全!又不懂得家QQ759582762讨论!
MyEclipse(Java)连接SQLServer 20## R2 失败n次的经验
历时不下于十二个小时的探索检查,终于连接成功了,又想哭,又想笑。没办法,老师让自己搞;师兄又不给力;网上百度知道N万条,好多朋友的答案都没有营养,纯粹为了积分。呜呼哀哉!鄙人特将经验分享于此处,望后来之人少走弯路。
1.先登录SQL 2008,选择Windows身份验证,点击连接。
连接成功就会在对象资源管理器出现如下画面。
2.打开安全性——登录名。右击登录名,选择新建登录名。会出现登录名——新建对话框。
3.在选择页一栏,常规一项,填写登录名、选择SQL Serve身份验证、填写密码、去除强制密码过期。
4.权限设置:在服务器角色一项,默认的是选择public,相当于游客,只有登录数据库权限。选择sysadmin,给角色管理员权限。点击确定。
5.试连接:在菜单栏里选择文件——连接对象资源管理器,然后在身份验证一栏选择身份验证方式。填写登录名、密码,点击连接。
在对象资源管理器一栏又多出一堆东西,表示连接成功。
一 eclipse要 引入的包
大家要注意了,不同的数据库要引不同的包,而且sqlserver2000和sqlserver2008要引的包是不一样的,这点要特别注意啊!!
一开始我只引了jdbc的包,这是2000版本的,2008版本要引的是sqljdbc2.0驱动——Microsoft SQL Server JDBC Driver 2.0.exe,大家去网上搜就会有的,解压后运行里面的程序就可以得到sqljdbc4.jar和sqljdbc.jar,最好是2个都导进去吧,省的出问题。
二 eclipse引包方法
找到要引的包了,要怎么把它引进去呢?
右击你创建的工程,找到Build path ,选择 Add External Archives,找到你要导入的包,点击打开就可以引入了,引入后在工程下面的Referencede Libraries下便能显示这2个包了
三 创建数据库
既然是要用java连接数据库,当然你自己就要在sqlServer2008下创建一个你自己的数据库啦,现在我假设创建的数据库名为pro
四 创建数据源
在网上搜的很多java连接数据库的资料中都没用这一步,其实这一步是很重要的,也是你在编写程序时要用上的
在控制面板---管理工具中选择数据源,选择系统DNS选项卡,点击添加,选择SQLServer,点击完成,填入你自己取的数据源的名称,描述可以不用写,在服务器的选择中大家要注意了,一定要是你的sqlserver服务器的名称,并不一定就是下拉框中有选择的名称,我就是在这里纠结了好久久%>_<%,出现了如下图看上去不知道怎么解决的问题
找名称的方法是在你开启sqlserver2008时在连接的界面上会有服务器的名称,把它填入服务器名称框就可以了
点击下一步,选择你自己的数据库,一直下一步,到最后的时候可以测试哦~~~一般都会成功的
五 端口设置
这是一个很重要的问题,sqlserver2008的端口是动态的,会比较麻烦,在windows---所有程序----microsoft sqlserver的程序文件夹下会有个配置管理器,打开它,设为如下状态
点击TCP/IP打开,选择IP地址,因为我在后面的程序中用的IP地址是127.0.0.1,所以我设置了IP6和IPALL,IPALL TCP动态端口号一般为1433,这在程序里 是要用到的,所以要记着哦
设置完后,需要重启服务器,打开控制面板----管理工具-----服务,选择SQL Server(SQL....),右击,选择停止,停止后再点击启动,便是重启了
六 java代码
把上面的这些都做好了,接下来就是写代码咯~~以下是我的代码
package com.sql;
import java.sql.*;
public class Test2
{
public static void main(String[] args)
{
String JDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";//SQL数据库引擎
String connectDB="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=pro";//数据源注意IP地址和端口号,数据库名字!!!
try
{
Class.forName(JDriver);//加载数据库引擎,返回给定字符串名的类
}catch(ClassNotFoundException e)
{
//e.printStackTrace();
System.out.println("加载数据库引擎失败");
System.exit(0);
}
System.out.println("数据库驱动成功");
try
{
String user="abc";//你自己创建的用户名字和密码!!!!!!!!!!!!
String password="000000";
Connection con=DriverManager.getConnection(connectDB,user,password);//连接数据库对象
System.out.println("连接数据库成功");
Statement stmt=con.createStatement();//创建SQL命令对象
//创建表
System.out.println("查询");
System.out.println("开始读取数据");
ResultSet rs=stmt.executeQuery("SELECT * FROM 学生信息 where age=19");//返回SQL语句查询结果集(集合)
//循环输出每一条记录
while(rs.next())
{
//输出每个字段
System.out.println(rs.getString("stuId")+"\t"+rs.getString("NAME"));
}
System.out.println("读取完毕");
//关闭连接
stmt.close();//关闭命令对象连接
con.close();//关闭数据库连接
}
catch(SQLException e)
{
e.printStackTrace();
//System.out.println("数据库连接错误");
System.exit(0);
}
}
}
运行结果:
数据库驱动成功
连接数据库成功
查询
开始读取数据
Java连接SqlServer2008数据库
首先下载JDBC:下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=21599
下载 完成后,是个exe文件,点击运行,会提示你选择解压目录.
解压完成后,进入 <你解压到得目录>\sqljdbc_3.0\chs,里边有两个我们需要的东东
一个是:sqljdbc.jar,另外一个是sqljdbc4.jar
这里使用sqljdbc4.jar
首先配置sa身份验证:
由于安装sqlServer2008时是以windows身份验证安装的,并没有为sqlServer2008添加sqlServer身份用户,因此首先添加用户:
打开Microsoft SQL Server Managerment Studio并以windows验证方式登录,左侧的对象资源管理器->安全性->登录名,右击sa->属性,为sa用户添加密码,选择sqlServer身份验证,在"状态"选项中授予连接到数据库和登录启用.右击对象资源管理器的根节点,选择属性->安全性->sqlServer和windows身份验证模式,这样就为sql server 2008创建了以sql server身份验证的用户sa.
在java代码中用两种方式连接sqlserver2008数据库,一种是sa身份验证模式,另外一种是混合身份验证模式:
第一种:sa身份验证模式,用下边java代码的url
1. import java.sql.Connection;
2. import java.sql.DriverManager;
3. import java.sql.ResultSet;
4. import java.sql.Statement;
5.
6. public class Test {
7.
8. public static void main(String args[]) {
9. // Create a variable for the connection string.
10. String connectionUrl = "jdbc:sqlserver://localhost:1433;"
11. + "databaseName=AdventureWorks;integratedSecurity=true;";
12.
13. String url = "jdbc:sqlserver://127.0.0.1:1368;databaseName=mydb;user=sa;password=qiaoning";//sa身份连接
14.
15. String url2 = "jdbc:sqlserver://127.0.0.1:1368;databaseName=mydb;integratedSecurity=true;";//windows集成模式连接
16.
17. // Declare the JDBC objects.
18. Connection con = null;
19. Statement stmt = null;
20. ResultSet rs = null;
21.
22. try {
23. // Establish the connection.
24. System.out.println("begin.");
25. Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
26. con = DriverManager.getConnection(url);
27. System.out.println("end.");
28.
29. // Create and execute an SQL statement that returns some data.
30. String SQL = "SELECT TOP 10 * FROM aud_t_basis";
31. stmt = con.createStatement();
32. rs = stmt.executeQuery(SQL);
33.
34. // Iterate through the data in the result set and display it.
35. while (rs.next()) {
36. System.out.println(rs.getString(4) + " " + rs.getString(6));
37. }
38. }
39.
40. // Handle any errors that may have occurred.
41. catch (Exception e) {
42. e.printStackTrace();
43. }
44.
45. finally {
46. if (rs != null)
47. try {
48. rs.close();
49. } catch (Exception e) {
50. }
51. if (stmt != null)
52. try {
53. stmt.close();
54. } catch (Exception e) {
55. }
56. if (con != null)
57. try {
58. con.close();
59. } catch (Exception e) {
60. }
61. }
62. }
63. }
第二种:混合身份验证模式,用上边java代码的url2.
在集成模式下需要如下操作:
找到你刚才的解压目录:进入sqljdbc_3.0\chs\auth\x64,我的是64位系统,如果是32位就x86,将一个名为sqljdbc_auth.dll的文件拷贝到:C:\Windows\System32下,就好了
最后就是sqlserver2008用的是动态端口,需要你配置一下:
打开配置工具->SQLServer配置管理器->SQLServer网络配置->MSSQLSERVER的协议->TCP/IP启用,把TCP动态端口中的0都删掉,留空;然后把列表拉到最下边(IPALL),配置一个固定端口,以后你连接数据库就用这个端口就可以了:如下图
这里我用的是1368,数据库重启后,就可以用上面的程序连接了.
第二篇:sql20xx 远程连接
Sql Server2008 数据库开启远程连接
(一) 确保开启混合登陆模式,sa账户可用
a) 打开SSMS,用windows身份连接数据库,登录后,右键选择“属性” b) 左侧选择“安全性”,选中右侧的“SQL Server 和 Windows 身份验证模式”以启用混合登录模式
c) 选择“连接”,勾选“允许远程连接此服务器”,然后点“确定”
d) 展开“安全性”->“登录名”->“sa”,右键选择“属性”
e) 左侧选择“常规”,右侧选择“SQL Server 身份验证”,并设置密码 f)
(二) 在服务器图标上单击右键,选择property,然后选connection,把allow remote connection选上,这一步的目的是让数据库允许远程连接。
(三) 配置SQL Server Management Studio Express(简写SSMS) 开启远程连接 a) 右击数据库选择“方面”
b) 将“RemoteAccessEnabled”属性设为“True”,点“确定”
c) 至此SSMS已设置完毕,先退出,再用sa登录,成功即表示sa帐户已经启用
(四) 配置SQL Server 配置管理器/SQL Server Configuration Manager(简写SSCM)
a) 下面开始配置SSCM,选中左侧的“SQL Server服务”,确保右侧的“SQL Server”以及“SQL Server Browser”正在运行
b) 以下为英文版本界面。如图:右侧的TCP/IP默认是“Disabled”,双击打开设置面板将其修改为“Enabled”
c) 选择“IP Addersses”选项卡,设置端口“1433”
d) 如图将"Client Protocols"的"TCP/IP"也修改为“Enabled”
e) 配置完成,重新启动SQL Server 2008。
此时应该可以使用了,但是还是要确认一下防火墙。
SQL Server 2005/2008 Express安装以后,默认情况下是禁用远程连接的。如果需要选择“状态”,选中“启用”,点击“确定”
远程访问,需要手动配置。
打开防火墙设置。将SQLServr.exe(C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe)添加到允许的列表中。