sqlserver JDBC连接要注意的问题

1、这三个包(msbase.jar、mssqlserver.jar、msutil.jar)要都加入classpath中,或引入eclipse中。
(因为有时可能出现ClassNotDefFound错误,就是没有引入这些包)。
2、当出现“Error establishing socket错误时,就是sqlserver没有安装了sp3的布丁。
要先安装才能连接到数据库。
3、当出现以下错误时,表示登录数据库的用户名和密码设置错误。
Exception in thread "main" java.sql.SQLException: [Microsoft][SQLServer 2000 Dri
ver for JDBC][SQLServer]用户 '(null)' 登录失败。原因: 未与信任 SQL Server 连接相
关联。
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source
)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown
Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown
Source)
at com.microsoft.jdbc.sqlserver.tds.TDSLoginRequest.processReplyToken(Un
known Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Sour
ce)
at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Sou
rce)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown S
ource)
at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at Hello.main(Hello.java:11)
说明用户名和密码设置错误。看有没有用户名(如sa)和sa相应的密码。它要用户名和密码才能
连接到数据库。
4、连接正确的例子。(注意:Class.forName中的字符串,也是一个类,要写正确,(当然也可用new +这个类
直接创建,不过用Class.forName更常用)。
import java.sql.*;
import com.microsoft.jdbc.sqlserver.*; //可无,因为已经三个包引入到classpath中了。
public class JDBCTest {
public static void main(String args[]) throws Exception
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs"; //数据库名pubs
//pubs为你的数据库的
String user="sa";
String password="wjb"; //与sa用户对应的密码,(这是我机子上与sa用户对应的密码.)
Connection conn= DriverManager.getConnection(url,user,password);
//System.out.println("hello worldAA!");
Statement stmt=conn.createStatement();
String sql="select * from sales";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {
System.out.println(rs.getString(1));

}
}

}

你可能感兴趣的:(java,sql,jdbc,SQL Server,Microsoft)