关于java和sql2005连接问题

用2000调试成功·运行正常·但用到2005就不行了·出现以下错误提示java.sql.SQLException:[Microsoft][SQLServer2000Dri... 用2000调试成功·运行正常·但用到2005就不行了·
出现以下错误提示
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]End of stream was detected on a read.
下面还有一串很长的代码
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
而且程序设置是sql server验证的·我默认的是windows验证·怎么修改spl的验证呢?
展开
 我来答
老唐日常游戏vlog
2010-07-13 · TA获得超过2103个赞
知道小有建树答主
回答量:1102
采纳率:0%
帮助的人:359万
展开全部
一.安装SQL2005后,sa无法登陆问题:

1. 用Windows身份验证登陆(这个应该是不会存在问题的, 在新安装好实例(SQL Server)的情况下, Windows身份验证是不可能被禁用的(安装过程中没有可以设置禁用Windows身份验证的地方)
Manage Studio -- 菜单"文件"--"连接对象资源管理器", 身份验证中选择"Windows Authentication"

2. 连接成功后, 右键你的实例, 选择"属性"

3. 在"属性"窗口中, 转到"Security"(安全性)项, 在"服务器身份验证"中设置为"SQL Server和Windows身份验证模式", 确定, 根据提示, 你应该重新启动sql服务

4. 重新启动sql服务后, 照用Windows身份验证连接, 然后执行下面的语句启用sa用户, 同时清除sa的密码(能成功登陆后再根据你的需要设置)

EXEC sp_password null,null,'sa'

ALTER LOGIN sa ENABLE

5. 语句执行完成后, 再用sa连接你的实例, 应该就没有问题了.

二.打开SQL2005的1433端口;

配置工具->Sql Server Configuration Manager->MSSQLSERVER的协议
看看TCP/IP协议是否启动,如果启动,右键菜单点"属性" ,在分页菜单中选"IP地址",把"IP1"和"IP2"中"TCP端口"为1433,
"已启用"改为"是"
配置工具->Sql Server Configuration Manager->SQL Native Client 配置->客户端协议->TCP/IP
选择TCP/IP右键菜单中"属性",确认"默认端口"是1433,"已启用"为"是".

如果打开1433端口后,服务启动不了,可能是与SQL2000的端口冲突,关闭2000的服务,即可!!!

三.JAVA连接SQL2005

在环境变量classpath 后面追加 C:\Program Files\Microsoft SQL Server2005 JDBC Driver\sqljdbc_1.2\enu\sqljdbc.jar

public static void main(String[] args) {
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加载JDBC驱动
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=quickreport"; //连接服务器和数据库sample
String userName = "sa"; //默认用户名
String userPwd = "sa123"; //密码
Connection dbConn;

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

在sql server 2000 中加载驱动和URL路径的语句是

String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sample";

而sql server 2005 中加载驱动和url的语句则为

String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample";
roserouge
2010-06-29 · TA获得超过462个赞
知道小有建树答主
回答量:1554
采纳率:0%
帮助的人:485万
展开全部
- = 你换驱动包了么 到微软网站down一个2005的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qxxiaohui
2010-06-29 · TA获得超过211个赞
知道答主
回答量:43
采纳率:0%
帮助的人:41.7万
展开全部
sql 2005的安全系数比较高,默认是不允许外部连接的,只有对其进行设置,允许外部连接就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友43c78f0
2010-06-30 · 超过17用户采纳过TA的回答
知道答主
回答量:75
采纳率:50%
帮助的人:35.2万
展开全部
换微软SQL2005的JDBC驱动或者JTDS的JDBC驱动
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
m309love
2010-06-30
知道答主
回答量:9
采纳率:0%
帮助的人:0
展开全部
点击数据库属性,里有设置sql为windows 和sa混合验证方式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
westcows
2010-07-02 · TA获得超过101个赞
知道答主
回答量:36
采纳率:0%
帮助的人:25.1万
展开全部
这是个典型得空指针异常,原因就是:

SQL 2000和SQL 2005得连接字符串不完全一样得。你2000得能连上
得话,换成了2005你得连接字符串要修改。其实只有一点点不一样。

你用Myeclipse生成连接字符串后,重新Copy过来。再试就OK了。

最后补充点:确保数据库已经连上,端口设置没问题(包括设置顺序哦)。
还有,数据库用户名,密码都设置OK。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式