我已经打了sp4的补丁了,jdbc的环境变量也设置得没问题,但测试还是连接不上
import java.sql.*;
class Test{//本程序在jdk1.4.2下调试通过.
public static void main(String args[])
{
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=student";
String user ="sa";//这里替换成你自已的数据库用户名
String password = "";//这里替换成你自已的数据库用户密码
String sqlStr = "select CustomerID, CompanyName, ContactName from Customers"; try{ //这里的异常处理语句是必需的.否则不能通过编译!
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
System.out.println( "类实例化成功!" ); Connection con = DriverManager.getConnection( url, user, password );
System.out.println( "创建连接对像成功!" ); Statement st = con.createStatement();
System.out.println( "创建Statement成功!" ); ResultSet rs = st.executeQuery( sqlStr );
System.out.println( "操作数据表成功!" );
System.out.println( "----------------!" ); while(rs.next())
{
System.out.print(rs.getString("CustomerID") + " ");
System.out.print(rs.getString("CompanyName") + " ");
System.out.println(rs.getString("ContactName"));
}
rs.close();
st.close();
con.close();
}
catch(Exception err){
err.printStackTrace(System.out);
}
}
}在cmd里面运行的结果是:
类实例化成功!
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]用
户 'sa' 登录失败。原因: 未与信任 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(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at Test.main(Test.java:14)
在网上搜了很多解决方法,都不行啊。。
import java.sql.*;
class Test{//本程序在jdk1.4.2下调试通过.
public static void main(String args[])
{
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=student";
String user ="sa";//这里替换成你自已的数据库用户名
String password = "";//这里替换成你自已的数据库用户密码
String sqlStr = "select CustomerID, CompanyName, ContactName from Customers"; try{ //这里的异常处理语句是必需的.否则不能通过编译!
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
System.out.println( "类实例化成功!" ); Connection con = DriverManager.getConnection( url, user, password );
System.out.println( "创建连接对像成功!" ); Statement st = con.createStatement();
System.out.println( "创建Statement成功!" ); ResultSet rs = st.executeQuery( sqlStr );
System.out.println( "操作数据表成功!" );
System.out.println( "----------------!" ); while(rs.next())
{
System.out.print(rs.getString("CustomerID") + " ");
System.out.print(rs.getString("CompanyName") + " ");
System.out.println(rs.getString("ContactName"));
}
rs.close();
st.close();
con.close();
}
catch(Exception err){
err.printStackTrace(System.out);
}
}
}在cmd里面运行的结果是:
类实例化成功!
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]用
户 'sa' 登录失败。原因: 未与信任 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(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at Test.main(Test.java:14)
在网上搜了很多解决方法,都不行啊。。
1.查看你的数据库服务项是否启动。
2.如果服务项启动了,还是报错你就点击SQL SERVER 2005-->SQLEXPRESS协议-->TCP/IP-->选择TCP/IP-->IP-->将TCP端口设置为1433就可以了。
3.查看你的数据库服务器是不是你本机的。
4.在这里你的驱动应该是加对了,所以就不做仔细的介绍了!
首先修改sa用户的密码
再一个,设它的状态为启用
再一个,设SQL server中登录方式为SQL与Windows登录
应该就可以了,记得重启SQL
msbase.jar mssqlserver.jar msutil.jar 根据错误提示:这三个包好像没加,主要是"msbase.jar"
补丁用SP3的吧,要是用server2000的话
你现在首要确定的就是"sa"这个用户是否能登陆数据库。
方法是:“开始”-----“Microsoft SQL Server”----------“查询分析器”,然后用sa用户登陆。
step2.
如果登陆成功,那么开始检查SQL的版本,如果版本低,需要打上SP3(或sp4)补丁。
查版本语句:select @@version
step3.导入三个jar包(从你抛出异常来看,你已经导入了),仔细检察代码。
检查student数据库是否存在
也可能是 sql server 设计了不能使用用户名和密码登录, 看一下 sql server 的设置
sese_1990.blog.163.com中有