JDBC运行不起来,请各位帮帮忙

simonllf 2004-11-29 11:38:37
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String url="jdbc:microsoft:sqlserver://192.168.0.70:1433;DatabaseName=pubs";
Connection conn= DriverManager.getConnection("jdbc:microsoft:sqlserver://192.168.0.70:1433;user=sa;password=123456");
Query=conn.createStatement();
Rs=Query.executeQuery("SELECT * FROM sales");

上面是我主要的程序部分,在其他人那里都可以运行的,但到我机子的时候,到了Connection 这句就过不去了,下面是错误信息:
java.lang.NoClassDefFoundError: com/microsoft/util/UtilLocalMessages
at com.microsoft.jdbc.base.BaseExceptions.<init>(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.setupExceptionHandling(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at Hello.main(Hello.java:48)
Exception in thread "main"
对于CLASSPATH的问题我也看过了应该没问题的,我如果用ODBC的形式就可以连上SQL了。郁闷。请哪位高手帮帮忙。
...全文
428 25 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
simonllf 2004-12-07
  • 打赏
  • 举报
回复
郁闷
simonllf 2004-12-03
  • 打赏
  • 举报
回复
TO tianlujun(阿俊)
不是。。是Win2000 professional,打了SP4了。
simonllf 2004-12-03
  • 打赏
  • 举报
回复
顶啊
tianlujun 2004-12-02
  • 打赏
  • 举报
回复
你的操作系统是win2003吗?如果是的话,请你sq3补丁,restart your computer
unat 2004-12-02
  • 打赏
  • 举报
回复
simonllf 2004-12-02
  • 打赏
  • 举报
回复
TO bibiye(布什的老哥)
可以说的清楚点么?我是新手,你说的那个包在哪里可以找到?我真的很郁闷。
simonllf 2004-11-30
  • 打赏
  • 举报
回复
TO noscar(java+Linux)
我都放了。是放在/jre/lib下的EXT里的。
bibiye 2004-11-30
  • 打赏
  • 举报
回复
java.lang.NoClassDefFoundError: com/microsoft/util/UtilLocalMessages

很明显是少了个类或者确切地说是少了个包
你打开驱动程序的.jar包,肯定找不到com.microsoft.util.utillocalmessages这个类

建议上微软网站下一个完整的包,解压,再放在正确的路径
engine8857 2004-11-30
  • 打赏
  • 举报
回复
楼主 ,我也遇到了同样的问题,还没有解决,郁闷中。。。。。。顶!
simonllf 2004-11-30
  • 打赏
  • 举报
回复
问题是我已经按xitianjile(西天) 的写法改过了。但还是不行。
drugon 2004-11-30
  • 打赏
  • 举报
回复
String url="jdbc:microsoft:sqlserver://192.168.0.70:1433;DatabaseName=pubs";
Connection conn= DriverManager.getConnection("jdbc:microsoft:sqlserver://192.168.0.70:1433;user=sa;password=123456");
这样写是永远不可能连上的。

xitianjile(西天) 的写法是对的。

在SQL Server中并不是User=sa,而是UID=sa,不要把有些东西想当然是那样的。
双层木屋 2004-11-30
  • 打赏
  • 举报
回复
关注
SW13968086129 2004-11-30
  • 打赏
  • 举报
回复
放在/jre/lib/ext目录下,然后重启,让系统定位到这个目录下面。这个的前提是你添加了classpath和path环境变量。
simonllf 2004-11-30
  • 打赏
  • 举报
回复
顶啊
jFresH_MaN 2004-11-29
  • 打赏
  • 举报
回复
是啊
xitianjile 2004-11-29
  • 打赏
  • 举报
回复
改这段代码
String url="jdbc:microsoft:sqlserver://192.168.0.70:1433;DatabaseName=pubs";
Connection conn= DriverManager.getConnection("jdbc:microsoft:sqlserver://192.168.0.70:1433;user=sa;password=123456");

修改后
String url="jdbc:microsoft:sqlserver://192.168.0.70:1433;DatabaseName=pubs";
Connection conn= DriverManager.getConnection(url,"sa","123456");
江南愚子 2004-11-29
  • 打赏
  • 举报
回复
楼上说的对,很可能就是少加一个包
kenli 2004-11-29
  • 打赏
  • 举报
回复
微软的jdbc包有3个文件,你是不是都放进去了?
noscar 2004-11-29
  • 打赏
  • 举报
回复
要把 3个文件 都放到 /jre/lib下....
yeshucheng 2004-11-29
  • 打赏
  • 举报
回复
可能少打了sp
加载更多回复(4)

67,549

社区成员

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

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