转:Java连接SqlServer2008数据库

Posted cyy_13

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转: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
Java代码 收藏代码
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class Test {

public static void main(String args[]) {
// Create a variable for the connection string.
String connectionUrl = "jdbc:sqlserver://localhost:1433;"
+ "databaseName=AdventureWorks;integratedSecurity=true;";

String url = "jdbc:sqlserver://127.0.0.1:1368;databaseName=mydb;user=sa;password=qiaoning";//sa身份连接

String url2 = "jdbc:sqlserver://127.0.0.1:1368;databaseName=mydb;integratedSecurity=true;";//windows集成模式连接

// Declare the JDBC objects.
Connection con = null;
Statement stmt = null;
ResultSet rs = null;

try {
// Establish the connection.
System.out.println("begin.");
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection(url);
System.out.println("end.");

// Create and execute an SQL statement that returns some data.
String SQL = "SELECT TOP 10 * FROM aud_t_basis";
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);

// Iterate through the data in the result set and display it.
while (rs.next()) {
System.out.println(rs.getString(4) + " " + rs.getString(6));
}
}

// Handle any errors that may have occurred.
catch (Exception e) {
e.printStackTrace();
}

finally {
if (rs != null)
try {
rs.close();
} catch (Exception e) {
}
if (stmt != null)
try {
stmt.close();
} catch (Exception e) {
}
if (con != null)
try {
con.close();
} catch (Exception e) {
}
}
}
}
第二种:混合身份验证模式,用上边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),配置一个固定端口,以后你连接数据库就用这个端口就可以了:如下图

 

 

以上是关于转:Java连接SqlServer2008数据库的主要内容,如果未能解决你的问题,请参考以下文章

如何查找 SQLSERVER 2008 的 IP 地址和端口号以从 java 连接数据库 [关闭]

java使用windows验证方式连接sqlserver2008数据库

Java / SQL Server 2008 R2 Express 连接问题

php连接sqlserver2008失败

JAVA 连接SQLSEVER 2008

java连接sqlserver2008错误 错误如下