CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

连数据库的程序,打成Jar包后的提示连接数据库失败

楼主cqm2099(~人生小弟~)2006-03-08 21:23:43 在 Java / J2SE / 基础类 提问

本人写好一个连接SQL   Server的程序,在用  
  @ECHO   OFF  
  D:  
  CD   D:\JavaCode\MDIPro  
  E:\Borland\JBuilder2005\jdk1.4\bin\java.exe   MDIPro  
  些BAT   DOS命令执行时没有问题,但将所有CLASS文件打包成JAR文件后运行JAR文件时则会报错:连接数据库失败(此为我程序中已经设置的错误提示)  
  用  
  @ECHO   OFF  
  D:  
  CD   D:\JavaCode\MDIPro  
  E:\Borland\JBuilder2005\jdk1.4\bin\java   -jar   MDIPro.jar   命令执行是DOS屏幕中的错误提示是:  
  com.microsoft.jdbc.sqlserver.SQLServerDriver  
  java.lang.ClassNotFoundException:   com.microsoft.jdbc.sqlserver.SQLServerDriver  
                  at   java.net.URLClassLoader$1.run(URLClassLoader.java:199)  
                  at   java.security.AccessController.doPrivileged(Native   Method)  
                  at   java.net.URLClassLoader.findClass(URLClassLoader.java:187)  
                  at   java.lang.ClassLoader.loadClass(ClassLoader.java:289)  
                  at   sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)  
                  at   java.lang.ClassLoader.loadClass(ClassLoader.java:235)  
                  at   java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)  
                  at   java.lang.Class.forName0(Native   Method)  
                  at   java.lang.Class.forName(Class.java:141)  
                  at   DataBaseManager.getConnection(DataBaseManager.java:23)  
                  at   MDIPro$4.actionPerformed(MDIPro.java:202)  
                  at   javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)  
                  at   javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)  
                  at   javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)  
                  at   javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)  
                  at   javax.swing.AbstractButton.doClick(AbstractButton.java:289)  
                  at   javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1113)  
                  at   javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(BasicMenuItemUI.java:943)  
                  at   java.awt.Component.processMouseEvent(Component.java:5100)  
                  at   java.awt.Component.processEvent(Component.java:4897)  
                  at   java.awt.Container.processEvent(Container.java:1569)  
                  at   java.awt.Component.dispatchEventImpl(Component.java:3615)  
                  at   java.awt.Container.dispatchEventImpl(Container.java:1627)  
                  at   java.awt.Component.dispatchEvent(Component.java:3477)  
                  at   java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)  
                  at   java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)  
                  at   java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)  
                  at   java.awt.Container.dispatchEventImpl(Container.java:1613)  
                  at   java.awt.Window.dispatchEventImpl(Window.java:1606)  
                  at   java.awt.Component.dispatchEvent(Component.java:3477)  
                  at   java.awt.EventQueue.dispatchEvent(EventQueue.java:456)  
                  at   java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)  
                  at   java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)  
                  at   java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)  
                  at   java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)  
                  at   java.awt.EventDispatchThread.run(EventDispatchThread.java:100)java.lang.NullPointerException  
                  at   DataBaseManager.getResult(DataBaseManager.java:63)  
                  at   MDIPro$4.actionPerformed(MDIPro.java:207)  
                  at   javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)  
                  at   javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)  
                  at   javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)  
                  at   javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)  
                  at   javax.swing.AbstractButton.doClick(AbstractButton.java:289)  
                  at   javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1113)  
                  at   javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(BasicMenuItemUI.java:943)  
                  at   java.awt.Component.processMouseEvent(Component.java:5100)  
                  at   java.awt.Component.processEvent(Component.java:4897)  
                  at   java.awt.Container.processEvent(Container.java:1569)  
                  at   java.awt.Component.dispatchEventImpl(Component.java:3615)  
                  at   java.awt.Container.dispatchEventImpl(Container.java:1627)  
                  at   java.awt.Component.dispatchEvent(Component.java:3477)  
                  at   java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)  
                  at   java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)  
                  at   java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)  
                  at   java.awt.Container.dispatchEventImpl(Container.java:1613)  
                  at   java.awt.Window.dispatchEventImpl(Window.java:1606)  
                  at   java.awt.Component.dispatchEvent(Component.java:3477)  
                  at   java.awt.EventQueue.dispatchEvent(EventQueue.java:456)  
                  at   java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)  
                  at   java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)  
                  at   java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)  
                  at   java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)  
                  at   java.awt.EventDispatchThread.run(EventDispatchThread.java:100)  
  在线等,急着出货呀!请高手帮忙解决,谢谢! 问题点数:100、回复次数:17Top

1 楼tjjzs(王、)回复于 2006-03-09 12:17:36 得分 1

你的是一个界面程序吗?  
  错误很明显啊,就是找不到SQL   SERVER的连接类,你把这个JAR包加入classpath里Top

2 楼polarman(北极人http://blog.csdn.net/polarman)回复于 2006-03-09 12:23:32 得分 1

找不到SQL   SERVER的连接类,你把这个JAR包加入classpath里Top

3 楼imA(男的不会,会的不男)回复于 2006-03-09 12:44:27 得分 1

找不到驱动类。把驱动jar文件同时打包到你的jar文件中。Top

4 楼xiangzhengyan(千里单骑走西藏)回复于 2006-03-09 13:06:47 得分 1

来晚了接分Top

5 楼jacbo(今天你坚持了没有)回复于 2006-03-09 13:17:17 得分 1

@ECHO   OFF  
  D:  
  CD   D:\JavaCode\MDIPro  
  E:\Borland\JBuilder2005\jdk1.4\bin\java.exe     MDIPro  
  些BAT   DOS命令执行时没有问题,但将所有CLASS文件打包成JAR文件后运行JAR文件时则会报错:连接数据库失败(此为我程序中已经设置的错误提示)  
  用  
  @ECHO   OFF  
   
   
  E:\Borland\JBuilder2005\jdk1.4\bin\java.exe     -classpath   yourpath/mos三个jar   MDIProTop

6 楼cqm2099(~人生小弟~)回复于 2006-03-09 17:15:04 得分 0

-Classpath:   C:\Program   Files\Microsoft   SQL   Server   2000   Driver   for   JDBC\lib\msbase.jar;C:\Program   Files\Microsoft   SQL   Server   2000   Driver   for   JDBC\lib\mssqlserver.jar;C:\Program   Files\Microsoft   SQL   Server   2000   Driver   for   JDBC\lib\msutil.jar  
  上面三个文件都有打包进去,但问题依旧,我是要运行MDIPro.jar包,运行他时出错,环境变量中有加JDBC的,如果只运行MDIPro.class文件是没有问题的.  
  高手支支招,高分相送!Top

7 楼aywrenyue(基本功修炼中……)回复于 2006-03-09 18:53:53 得分 1

classpath问题Top

8 楼zx2002027(http://www.netyi.net/in.asp?id=zx2002027)回复于 2006-03-09 19:04:20 得分 1

在工程中引入JDBC的三个包Top

9 楼cqm2099(~人生小弟~)回复于 2006-03-09 20:59:48 得分 0

有没有谁有成功实例,本人MAIL:cqm2008@163.comTop

10 楼nationally(自由鸟)回复于 2006-03-09 23:15:36 得分 1

要运行jar文件,你的***.jar/META-INF下必须包含一个MANIFEST.MF文件,里面有配置你的程序入口。Top

11 楼cqm2099(~人生小弟~)回复于 2006-03-10 09:05:33 得分 0

晕,我的JAR文件不是不能运行,可以运行,但主要问题是去运行带有SQL执行的窗口模块时就会报链接数据库失败。但不打包成JAR文件直接运行CLASS文件是没问题的。Top

12 楼xiangzhengyan(千里单骑走西藏)回复于 2006-03-10 11:26:19 得分 92

我试过,确实很麻烦,但可以这样做:  
  比如你打了一个包   jdbctest.jar。  
  在msssqlserver.jar,msutil.jar,msbase.jar三个jar文件中都有一个叫com的包,把它们都提取出来放在jdbctest.jar的根目录下即可。  
  java   jdbctest.jar  
   
  如果你需要,我可email给你Top

13 楼xiangzhengyan(千里单骑走西藏)回复于 2006-03-10 11:27:37 得分 0

错了  
  java   jdbctest.jar   应该为   java   -jar   jdbctest.jar  
  Top

14 楼xiangzhengyan(千里单骑走西藏)回复于 2006-03-10 11:39:48 得分 0

都给你发了emailTop

15 楼cqm2099(~人生小弟~)回复于 2006-03-10 11:44:17 得分 0

请问:xiangzhengyan(千里单骑走西藏)    
  你的方法的确管用,你是把所有提取出来的com包里的文件放进去还是只要基中的某些文件就可以?  
  谢谢!Top

16 楼cqm2099(~人生小弟~)回复于 2006-03-10 11:47:40 得分 0

好的,我查收一下!谢谢xiangzhengyan(千里单骑走西藏)Top

17 楼cqm2099(~人生小弟~)回复于 2006-03-10 12:17:04 得分 0

OK了,散分了!Top

相关问题

  • 连数据库的程序,打成Jar包后的问题
  • 数据库打包问题
  • sql anywhere 数据库如何和应用程序一起打成安装包,且程序安装后不需要另外设置?
  • 如何将数据库打包?
  • access数据库这样打包不行?
  • 关于数据库打包的问题
  • 如何给数据库文件打包?
  • pb打包时数据库问题
  • SQL数据库问题(关于打包)
  • SQL数据库怎样打包?

关键词

  • .net
  • sql server 2000
  • 文件
  • 数据库
  • 连接
  • 执行
  • jbuilder
  • classpath
  • jdbc
  • borland

得分解答快速导航

  • 帖主:cqm2099
  • tjjzs
  • polarman
  • imA
  • xiangzhengyan
  • jacbo
  • aywrenyue
  • zx2002027
  • nationally
  • xiangzhengyan

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo