com.microsoft.sqlserver.jdbc.SQLServerException: 用户 'sa' 登录失败。该用户与可信 SQL Server 连接无关联。

zzrxxl 2008-07-13 01:14:37
请大家指导一下。新手学习,我用java 链接SQL2005 出现的错误结果
代码如下:
import java.sql.*;
public class ConnectionSql {
public static void main(String[] srg) {
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=DBTEST";
String userName = "sa"; //默认用户名
String userPwd = "sa"; //密码
Connection dbConn;

try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("Connection Successful!"); //如果连接成功 控制台输出Connection Successful!
} catch (Exception e) {
e.printStackTrace();
}

}
数据库设置端口为TCP/Ip端口 IPALL :1433 是SQL用户和Windows 用户集合。sa 登录状态为启用
jdbc驱动为1.2
路径也设置进来C:\Program Files\sqljdbc_1.2\chs\sqljdbc.jar
数据库也是存在。
...全文
7501 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoyingee 2012-04-08
  • 打赏
  • 举报
回复
可以了拉哦.
huainian1999 2011-09-07
  • 打赏
  • 举报
回复
感谢22楼,找的好辛苦啊
jacky_china 2010-01-09
  • 打赏
  • 举报
回复
太感谢22楼了,上网查了一周了,没有一种办法中用的!!!
其实我们只要启动TCP/IP协议后,查看下IPALL的动态端口号,然后引用就可以了。(例如:IPALL的动态端口号为2562,那么就写为localhost:2562,就可以了)。
天河360 2009-04-03
  • 打赏
  • 举报
回复
打开MSSQLSERVER协议 启动TCP/IP服务就可以了
zzrxxl 2009-02-04
  • 打赏
  • 举报
回复
很长事件没有光顾java了,今天稍微空闲了一下,看到这个帖子,今天又测试了一下。是可以了,当然环境已经变了,这么长事件系统都安装了两次了,总结以上各位的建议我总结一下:

1,我直接先安装jdk6.0
2,安装开发工具MyEclipse
3,加载jdbc驱动,
4,加入代码。
结构测试就直接过了,
检测数据库 当然是 SQL server 及 windows 权限了
SQL2005的协议Tcp/IP已经启用,IPAll TCP动态端口号2562我没有改成以前推荐的1433就直接用了,上面有人说是实例名的问题,但是每个数据库对应不同的端口,所以要么上面的实例是不是端口不对我没有办法测试了,

public class ConnTest
{
public static void main(String[] args) throws Exception {
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://localhost:2562; DatabaseName=DBTEST";
String userName = "sa"; // 默认用户名
String userPwd = "as"; // 密码
Connection dbConn;

try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("Connection Successful!"); // 如果连接成功
// 控制台输出Connection
// Successfull
} catch (Exception e) {
e.printStackTrace();
}

}
}


本人是初学者,不知道是什么问题。结贴就算了。总之我是解决这个问题了
chunci99 2009-01-13
  • 打赏
  • 举报
回复
也许这个帖子已经有点历史了,但是我也遇到了这个问题,希望还有高手出来帮帮大伙,小弟在此先谢过了!~
fxl520180 2008-12-26
  • 打赏
  • 举报
回复
com.microsoft.sqlserver.jdbc.SQLServerException: ? 1 ?: '? ???????? 请高手帮忙
com.microsoft.sqlserver.jdbc.SQLServerException: ? 1 ?: '? ???????? 请高手帮忙
com.microsoft.sqlserver.jdbc.SQLServerException: ? 1 ?: '? ???????? 请高手帮忙
com.microsoft.sqlserver.jdbc.SQLServerException: ? 1 ?: '? ???????? 请高手帮忙
com.microsoft.sqlserver.jdbc.SQLServerException: ? 1 ?: '? ???????? 请高手帮忙com.microsoft.sqlserver.jdbc.SQLServerException: ? 1 ?: '? ???????? 请高手帮忙
fxl520180 2008-12-26
  • 打赏
  • 举报
回复
com.microsoft.sqlserver.jdbc.SQLServerException: ? 1 ?: '? ????????
xmaccp 2008-11-04
  • 打赏
  • 举报
回复
要填写sqlserver的实例名...
liujianyydy 2008-11-03
  • 打赏
  • 举报
回复
同样我也遇到了这个问题,问一下.楼主解决没啊?我qq897307189是否可以帮助我一下啊
abcd1236386 2008-10-09
  • 打赏
  • 举报
回复
我也遇到那个问题, 不知道楼主解决了不,我不懂啊,谁来帮帮我啊,楼主如果解决了,麻烦发我邮件,谢谢啦
450522366@qq.com
liuxinhongxin 2008-08-05
  • 打赏
  • 举报
回复
刚刚写错了一点 是telnet localhost 1433
liuxinhongxin 2008-08-05
  • 打赏
  • 举报
回复
我的是sql 2005. 步骤
(1)你先在命令行终端 telnet 1433 看是否可以?
(2)到sql server 外围应用配置器打开tcp-ip连接
(3)确保sa用户在资源管理器可登录
(4)重启sql server 哈哈 修改完忘记了吧
(5)如果远程访问 请把防火墙1433端口打开
  • 打赏
  • 举报
回复
也是类似的问题前面的都设置了就是连不上?高手请教?
com.microsoft.sqlserver.jdbc.SQLServerException: 用户 'sa' 登录失败。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(Unknown Source)
at com.microsoft.sqlserver.jdbc.TDSParser.parse(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(Unknown Source)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at JDBC.main(JDBC.java:21)
cuilike 2008-07-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 java2000_net 的回复:]
参考这个帖子的第4部分的第2条

http://www.java2000.net:8088/viewthread.jsp?tid=394

估计你的认证方式选错了
可到sql enterprice manager->指定server->内容->安全性. 把验证改为 SQL server 及 windows.
[/Quote]
sunzhyng 2008-07-14
  • 打赏
  • 举报
回复
在cmd下运行telnet localhost 1433,看是否能通过

然后确定sa的密码是否正确,你可以在查询分析器里链接试试
B1977 2008-07-14
  • 打赏
  • 举报
回复
你不要写localhost写你服务器的实例名
ZA_cameron 2008-07-14
  • 打赏
  • 举报
回复
做个记号
zzrxxl 2008-07-14
  • 打赏
  • 举报
回复
你们在SQL2005下做过吗。安全性已经设置了 SQL server 及 windows 权限了
zzrxxl 2008-07-13
  • 打赏
  • 举报
回复
问题确定。1.用户和密码绝对正确
2.已经设置 SQL server 及windows 身份验证模式
3.驱动使用jdbc1.2应该没有问题(不确定)
编译正常通过
SQL2005
SQLEXPRESS协议中启动tic/ip Ipall 已经设置IP端口为1433 IP动态端口2202

C:\Program Files\sqljdbc_1.2\chs\sqljdbc.jar

还是不行。继续请教


加载更多回复(4)

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧