关于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的验证呢? 展开
出现以下错误提示
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的验证呢? 展开
展开全部
一.安装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";
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";
展开全部
- = 你换驱动包了么 到微软网站down一个2005的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sql 2005的安全系数比较高,默认是不允许外部连接的,只有对其进行设置,允许外部连接就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
换微软SQL2005的JDBC驱动或者JTDS的JDBC驱动
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
点击数据库属性,里有设置sql为windows 和sa混合验证方式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是个典型得空指针异常,原因就是:
SQL 2000和SQL 2005得连接字符串不完全一样得。你2000得能连上
得话,换成了2005你得连接字符串要修改。其实只有一点点不一样。
你用Myeclipse生成连接字符串后,重新Copy过来。再试就OK了。
最后补充点:确保数据库已经连上,端口设置没问题(包括设置顺序哦)。
还有,数据库用户名,密码都设置OK。
SQL 2000和SQL 2005得连接字符串不完全一样得。你2000得能连上
得话,换成了2005你得连接字符串要修改。其实只有一点点不一样。
你用Myeclipse生成连接字符串后,重新Copy过来。再试就OK了。
最后补充点:确保数据库已经连上,端口设置没问题(包括设置顺序哦)。
还有,数据库用户名,密码都设置OK。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询