加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sqlserver2000数据库连接失败常见问题及解决方案

发布时间:2020-12-12 15:24:19 所属栏目:MsSql教程 来源:网络整理
导读:try{ ???String sql="insert into test1 values('"+name+"','"+call+"','"+Email+"','"+tel+"','"+addr+"','"+text+"')"; ???Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); ???String url = "jdbc:microsoft:sqlserver://localhost:1433;

try{
???String sql="insert into test1 values('"+name+"','"+call+"','"+Email+"','"+tel+"','"+addr+"','"+text+"')";
???Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
???String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test1";
???String user = "sa";
???String password = "123456";
???java.sql.Connection conn = (java.sql.Connection) DriverManager.getConnection(url,user,password);
????? System.out.println("数据库连接成功!");
????? Statement st=conn.createStatement();
????? st.executeUpdate(sql);
????? conn.close();
????? st.close();
???}catch(ClassNotFoundException e)
???{System.out.println("数据库连接失败:"+e.getMessage());}
???catch (SQLException ex){
???System.out.println("SQLException: " + ex.getMessage());
???System.out.println("SQLState: " + ex.getSQLState());??
???}

???????? 首先检查数据库名,用户,密码是否正确

错误1:

java.sql.SQLException:?? [Microsoft][SQLServer?? 2000?? Driver?? for?? JDBC]Error?? establishing?? socket
解决方案:
??????? ?装sql2000补丁sp4,打开工具—SQL Servers属性(配置),点击常规选项卡,点击网络配置,“ 启动的协议”中使用“TCP/IP协议”(把命名管道禁止掉),然后打开“安全性”选项卡,选择身份验证为“SQL Server和 Windows ” ,把sql2000三个驱动包(msbase.jar,mssqlserver.jar,msutil.jar)导入工程,涮新,重新部署,重启tomcat

?

错误2:

用户 'sa' 登录失败。原因: 未与信任 SQL Server 连接相关联。
解决方案:

? 这一问题一般是由于SQL Server未集成Windows身份验证导致的,所以解决方案为:

1 打开SQL Server企业管理器。
2 选择服务器名称(local)(WindowsNT)上右键选择“编辑SQL Server注册属性”,然后在对话框中选择“使用windows身份验证”。
3 试试一试,不行。在看看安全性设置
4 同样右键,选择“属性”,然后打开“安全性”选项卡。
5 在选项卡中,选择身份验证为“SQL Server和 Windows ”,其他不变
6.重启sql2000服务器

?

SQL2000的sa密码更改方法
1.试试注销你的操作系统,用administrator登陆 查询分析器--连接使用"windows身份验证"--如果这里能成功,你就执行下面的语句来修改sa的密码 sp_password null,'新密码','sa'
?如??? sp_password null,'123456','sa'

?

?

?

?如果你在测试连接SQL Server 2000 JDBC连接时出现错误Error establishing socket.请参考如下:用 CMD 命令NETSTAT查1433(这是默认的端口,可能被占用,你可以重新设一个新的端口)的端口可是居然没有没有打开,先看看你的服务器有没有打开,如果都大开了那就说明你没有装SQL的sp3或sp4的补丁. 还有一个方法看你是不是要打补丁,那就是看看你的版本号: 可以用如下的方式查看MSSQL的版本: 打开企业管理器-〉工具-〉SQL查询分析器-〉帮助-〉关于 查看MSSQL的详细版本号 如果 是 8.00.194 就是还没打补丁 8.00.760 就是SP3 8.00.2039 就是SP4 如果你的版本号是对的,但NETSTAT查1433没有,那可能你的1433端口被占了,换一个端口应该就可以了. 换端口的方法是:1. 打开企业管理器,依次在控制台根目录 ->Microsoft SQL Servers->SQL Server 组,列出一部分数据库服务器。 2. 右击我们要连接的数据库服务器,选择属性,在常规选项卡点击网络配置弹出新窗口。 3. 在启用的协议区域我们选择 TCP/IP ,点击属性按钮,弹出新窗口。在这个窗口有网络协议默认值设置,一般默认端口是:1433。 另有一篇网上的方法,供参考:如运行程序时出现 "Error establishing socket" 错误,则应进行如下调试:1 检查SQL SERVER 是否允许远程访问.具体步骤:1)打开"企业管理器",打开控制台根目录>SQL Server 组>数据库2)在相应"数据库"上单击右键,选择"属性"3)选择"连接"选项卡,检查"远程服务器连接"下,RPC服务是否选择.2 使用telnet IP地址 1433,系统是否提示连接出错,如系统提示出错检查是否防火墙屏蔽了SQL SERVER 或 java IDE 的网络访问端口如果是,关闭防火墙,重新启动SQL SERVER和java IDE,进行测试,如果系统仍提示上述错误,尝试下列步骤3 检查SQL SERVER 端口号及是否启用了TCP/IP协议,具体步骤:1)打开"企业管理器",选择"属性"3)选择"常规"选项卡,点击"网络配置",如启用的协议中无"TCP/IP协议"将其加入4)选择"TCP/IP协议",点击"属性",检查其端口号是否为14335)如端口号为1433将其修改为其它端口号,修改jdbc连接语句,将端口号同样改为新启用的端口号,如jdbc:microsoft:sqlserver://server_name:1400(假设新端口号为 1400)以下的方法你每种的去试试:#检查一下sql server的connection有没有full.#如果是认证的问题.可到sql enterprice manager->指定server->内容->安全性.把验证改为 SQL server 及 windows.#点选属性检查一下port是否正确.#执行%MSSQL_HOME%/80/Tools/Binn/SVRNETCN.exe把TCP/IP启用.#关掉防火墙.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读