最近在用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.我百度了很多解决方案都解决不了,头痛死了~~~各位帮帮忙啊~~~感谢!!!
这是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.我百度了很多解决方案都解决不了,头痛死了~~~各位帮帮忙啊~~~感谢!!!
解决方案 »
- 关于Object boolean的问题
- 能麻烦帮忙看下这个程序为什么不能运行吗
- 求助:线程问题
- 使用vector遇到的问题!!请大家指教!!
- 如何如此实现“动态”访问EJB构件?(详情见内)
- 如何用formbean和FormFile上传不定个数的文件?
- swing的问题:用paint() 方法被重复调用。。
- 怎么获得.exe文件的图标,把它显示在JLabel上----------着急!!!
- 请问如何在一进入JTable表格单元格的编辑的时候,触发一个事件。
- 奇了怪了 才写JAVA 一个length折磨了我一天?帮我看看
- 基础的问题:byte[]转int
- 关于《think in java》里的String源码的运行问题,求大牛解释!!!
MSSQLSERVER协议-双击TCP/IP,IP地址里,IPALL TCP动态端口,TCP端口都改成1433试试。
你的sqlserver设置能用程序调用吗?
配置工具 ---》 sqlserver外围应用配置 --》 服务和连接的外围应用配置 中
MSSQLSERVER -》 Database Engine --》 远程连接 设置为
本地连接和远程连接中的同时使用TCP/IP和named pipes了不
如果不是设置成这个在试试