| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 871 人关注过本帖
标题:JBuilder2006直连SQL Server时报错
取消只看楼主 加入收藏
mahayu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:122
专家分:160
注 册:2007-8-3
收藏
 问题点数:0 回复次数:2 
JBuilder2006直连SQL Server时报错

jdbc:URL:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind could not be found.Check for missllings,and that the right driver is present on the classpath.

根据下面的步骤配置了,但测试时出现上面的错误,请教高手如何解决.

我的开发环境:JDK1.5+JBuilder2006+SQL Server2000

首先查看数据库服务器端口1433是否打开
在命令提示符中输入命令:netstat -an如果没有tcp:0.0.0.0:1433说明1433端口没打开,需要下载SQL Server2000的sp3或sp4补丁。
我试了几个补丁,最后成功的是SQL2000-KB884525-SP4-x86-CHS.EXE
下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyID=8e2dfc8d-c20e-4446-99a9-b7f0213f8bc5&DisplayLang=zh-cn
下载后执行EXE文件,会出现安装包SQL2KSP4,执行setup.bat安装程序。
如果有挂起需要重启计算机现象,请在运行中输入regedit打开注册表编辑器,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager中找到PendingFileRenameOperations项目,并删除它,这样就可以清除安装暂挂项目。
安装成功后再执行netstat -an有tcp:0.0.0.0:1433说明1433端口已打开。

需要有msbase.jar、mssqlserver.jar、msutil.jar这三个jar包
下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyID=9f1874b6-f8e1-4bd6-947c-0fc5bf05bf71&DisplayLang=en
setup.exe文件。
下载后执行exe文件,这三个jar包将被默认安装在C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib文件夹下,这里只有这三个jar包是有用的,完全可以把它们放在其它位置,只要知道路径即可。

然后打开JBuilder开始设置
选择Tools-->Configure-->Libraries,在左边的列表框下选择New,Name:javasql(可以随便起名字),Location:User Home,然后点击Add,按所存位置将msbase.jar、mssqlserver.jar、msutil.jar这三个包加进来。
选择Project-->Prject Properties-->Paths-->Required Libraries-->Add,加入刚才添加的User Home/javasql。
选择Enterprise-->Enterprise Setup-->Database Drivers-->Add,加入User Home/javasql,添加之后在列表框中显示javasql.config,确定后重新启动JBuilder。
选择Tools-->Database Pilot-->View-->Options-->Drivers-->Add,Driver class:com.microsoft.jdbc.sqlserver.SQLServerDriver,
Sample URL:microsoft:sqlserver://localhost:1433;DatabaseName=数据库名,确定后选择Tools-->Database Pilot-->New的Driver里选择com.microsoft.jdbc.sqlserver.SQLServerDriver,URL里填入microsoft:sqlserver://localhost:1433;DatabaseName=数据库名,确定后双击或点击+号输入数据库的用户名和密码,测试连接是否成功。
直连java代码:Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databasename=数据库名", "数据库用户名","数据库密码");


[此贴子已经被作者于2007-10-11 10:44:14编辑过]

搜索更多相关主题的帖子: SQL Server 数据库服务器 classpath 端口 
2007-10-11 10:42
mahayu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:122
专家分:160
注 册:2007-8-3
收藏
得分:0 
现在按上面的步骤,测试这步通过了,但实际应用还存在问题,郁闷......

研究Java和C#,,Jsp,Sql等各类编程技术, QQ:442013799  QQ群:47934757
2007-10-13 08:53
mahayu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:122
专家分:160
注 册:2007-8-3
收藏
得分:0 

终于搞定了饶了这么大弯子,不过具体原因并未查明,不是那三个驱动类文件的问题,以下是网上找得代码:
import java.sql.*;
public class MSSQLText
{
public static void main(String args[])
{
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
String user="sa";//这里替换成你自已的数据库用户名
String password="123456";//这里替换成你自已的数据库用户密码

String sql2="SELECT * from readers"; //这里替换成你自己的表名
try
{ //这里的异常处理语句是必需的.否则不能通过编译!
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
System.out.println("类实例化成功!");

Connection con = DriverManager.getConnection(url,user,password);
System.out.println("创建连接对像成功!");

Statement st = con.createStatement
(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
System.out.println("创建Statement成功!");

ResultSet rs = st.executeQuery(sql2);
System.out.println("操作数据表成功!");
System.out.println("----------------!");


while(rs.next())
{
System.out.print(rs.getString("name") + " ");//这里替换成你自己表中的列名

}
rs.close();
st.close();
con.close();
}
catch(Exception err){
err.printStackTrace(System.out);
}
}
}


研究Java和C#,,Jsp,Sql等各类编程技术, QQ:442013799  QQ群:47934757
2007-10-16 09:48
快速回复:JBuilder2006直连SQL Server时报错
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016614 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved