最近在用java连接数据库,搞了好几天都还没搞定,烦死人了,在这里请教一下各位高手。
       
这是java代码:         
                 try 
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url="jdbc:microsoft:sqlserver://localhost:1433;databaseName=TMSOCI";
String user="jim";
String password="123456";
Connection conn=DriverManager.getConnection(url,user,password); 
Statement st=conn.createStatement();

String sql="select * from tbBasicInformation";
ResultSet rs=st.executeQuery(sql);

catch (ClassNotFoundException e)
{
e.printStackTrace();

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

}我用的是sql server2005,我先在数据库端新建了一个用户:jim,密码是:123456.但是我运行java端的时候却出现以下错误:com.microsoft.sqlserver.jdbc.SQLServerException: [color=#FF0000]用户 'sa' 登录失败。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:156)
at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:240)
at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:78)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:2636)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:2046)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:2034)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4003)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1550)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1207)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(SQLServerConnection.java:1054)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:758)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:842)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at connection.Connetdb.InitdbConnet(Connetdb.java:22)
at connection.Connetdb.<init>(Connetdb.java:12)
at menuBar.MenuBar.addMenuItem(MenuBar.java:58)
at menuBar.MenuBar.addMenu(MenuBar.java:35)

at menuBar.MenuBar.addMenuBar(MenuBar.java:25)
at menuBar.MenuBar.<init>(MenuBar.java:19)
at frame.SystemFrame.<init>(SystemFrame.java:16)
at frame.SystemFrame.main(SystemFrame.java:28)[/color]
user明明是用jim,它却出现sa不能登录的错误,我把jim改为sa还是不行。于是我在数据库端登录sa,但是登陆不了,错误为:18456。我以为是密码错误,想去设置新密码,但是又出错,错误:执行Transact-SQL语句或批注处理时发生了异常。无法对登录名‘sa’执行更改,因为它不存在或者您没有所需权限,错误:15151.我百度了很多解决方案都解决不了,头痛死了~~~各位帮帮忙啊~~~感谢!!!

解决方案 »

  1.   

    SQL Server Configuration Manage
    MSSQLSERVER协议-双击TCP/IP,IP地址里,IPALL TCP动态端口,TCP端口都改成1433试试。
      

  2.   

    你的jim用户有访问权限吗?
    你的sqlserver设置能用程序调用吗?
      

  3.   


    配置工具 ---》 sqlserver外围应用配置 --》 服务和连接的外围应用配置 中
    MSSQLSERVER -》 Database Engine  --》  远程连接  设置为
    本地连接和远程连接中的同时使用TCP/IP和named pipes了不
    如果不是设置成这个在试试
      

  4.   

    重装吧 你的jim应该是没有权限的 用默认的sa  我的端口是1434的 今天一样连上 没压力