Java命令行执行从SQL 2000数据库转移到2005数据库
2010-05-23 11:14
375 查看
1.下载2005数据库驱动(sqljdbc.jar)
2.这时要用Eclipse等集成开发环境,在build path里面把2000数据库驱动包删除了,然后导进2005数据包。
3.把代码中注册数据库驱动的代码换成2005的代码。
如:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // 2005 version
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); // 2000 version
Connection con = DriverManager.getConnection("jdbc:sqlserver://<ServerName>;user=<UserName>;password=<Password>");//2005 version
Connection con = DriverManager.getConnection("jdbc:microsoft:sqlserver://<ServerName>;user=<UserName>;password=<Password>");//2000 version
4.修改sqljdbc.jar包,把该包中的manifest.mf中除了第一行以外,其他的都删除了;另外同时把zigbert.rsa和zigber.sf这两个文件删除了;(这时最重要的一步,不然会出现以下错误,如安全错误等)
Exception in thread "main" java.lang.SecurityException: no manifiest section for
signature file entry com/microsoft/sqlserver/jdbc/SQLServerException.class
at sun.security.util.SignatureFileVerifier.verifySection(Unknown Source)
at sun.security.util.SignatureFileVerifier.processImpl(Unknown Source)
at sun.security.util.SignatureFileVerifier.process(Unknown Source)
at java.util.jar.JarVerifier.processEntry(Unknown Source)
at java.util.jar.JarVerifier.update(Unknown Source)
at java.util.jar.JarFile.initializeVerifier(Unknown Source)
at java.util.jar.JarFile.getInputStream(Unknown Source)
at sun.misc.URLClassPath$JarLoader$2.getInputStream(Unknown Source)
at sun.misc.Resource.cachedInputStream(Unknown Source)
at sun.misc.Resource.getByteBuffer(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: com.sunshine.login.Login. Program will exit.
5.利用eclipse里面的导出工具,将工程导出为可执行jar包。方法:右击工程名,选择“Export”,在弹出的菜单中选择“Java/Runnable JAR File”,选择布局的程序和导出文件的存放位置。
6.在命令行中执行"Java -jar jar文件"或双击执行导出的“Jar文件”;
在这些步骤里面,本人一直在命令行里面执行"jar cvfm jar文件 MANIFEST.MF *"这个命令,导出的jar文件中一直没有“sqljdbc.jar”包内的类,虽然在classpath中已经将“sqljdbc.jar”添加进去了,但一直提示没有“数据库驱动”这个错误。所以一定要将“sqljdbc.jar”这个包里面的内容通过eclipse中的工具一并导入到jar文件当中。
2.这时要用Eclipse等集成开发环境,在build path里面把2000数据库驱动包删除了,然后导进2005数据包。
3.把代码中注册数据库驱动的代码换成2005的代码。
如:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // 2005 version
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); // 2000 version
Connection con = DriverManager.getConnection("jdbc:sqlserver://<ServerName>;user=<UserName>;password=<Password>");//2005 version
Connection con = DriverManager.getConnection("jdbc:microsoft:sqlserver://<ServerName>;user=<UserName>;password=<Password>");//2000 version
4.修改sqljdbc.jar包,把该包中的manifest.mf中除了第一行以外,其他的都删除了;另外同时把zigbert.rsa和zigber.sf这两个文件删除了;(这时最重要的一步,不然会出现以下错误,如安全错误等)
Exception in thread "main" java.lang.SecurityException: no manifiest section for
signature file entry com/microsoft/sqlserver/jdbc/SQLServerException.class
at sun.security.util.SignatureFileVerifier.verifySection(Unknown Source)
at sun.security.util.SignatureFileVerifier.processImpl(Unknown Source)
at sun.security.util.SignatureFileVerifier.process(Unknown Source)
at java.util.jar.JarVerifier.processEntry(Unknown Source)
at java.util.jar.JarVerifier.update(Unknown Source)
at java.util.jar.JarFile.initializeVerifier(Unknown Source)
at java.util.jar.JarFile.getInputStream(Unknown Source)
at sun.misc.URLClassPath$JarLoader$2.getInputStream(Unknown Source)
at sun.misc.Resource.cachedInputStream(Unknown Source)
at sun.misc.Resource.getByteBuffer(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: com.sunshine.login.Login. Program will exit.
5.利用eclipse里面的导出工具,将工程导出为可执行jar包。方法:右击工程名,选择“Export”,在弹出的菜单中选择“Java/Runnable JAR File”,选择布局的程序和导出文件的存放位置。
6.在命令行中执行"Java -jar jar文件"或双击执行导出的“Jar文件”;
在这些步骤里面,本人一直在命令行里面执行"jar cvfm jar文件 MANIFEST.MF *"这个命令,导出的jar文件中一直没有“sqljdbc.jar”包内的类,虽然在classpath中已经将“sqljdbc.jar”添加进去了,但一直提示没有“数据库驱动”这个错误。所以一定要将“sqljdbc.jar”这个包里面的内容通过eclipse中的工具一并导入到jar文件当中。
相关文章推荐
- 如何把sql 2000数据库转移到sql 2005?
- java_与sql_server_2005(2000)数据库连接_基类(jdbc驱动)(1)
- java_与sql_server_2005(2000)数据库连接_基类(jdbc驱动)(2)
- SQL 2005 中查询或执行另外的数据库操作的方法
- 使用MyEclipse 6.0连接SQL 2000和2005数据库(JDBC)
- 无法在SQL 2005系统数据库中执行的T-SQL语句(XML处理)
- 无法在SQL 2005系统数据库中执行的T-SQL语句(XML处理)
- Microsoft SQL Server 2005 数据库还原 Microsoft SQL Server 2000
- SQL 2005 附加 2000 数据库 的痛苦经历
- 数据库质疑修复总结 For SQL Server 2000/2005/2008/2008R2
- SQL 2005数据库转到SQL 2000的步骤
- 数据库从sql 2000迁移到SQL 2005遇到的问题
- java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver Eclipse3.1 数据库连接测试程序(SQL Server 2000 Driver for JDBC Service Pack 3 安装测试)
- 无法在SQL 2005系统数据库中执行的T-SQL语句(XML处理)
- SQL 2005 附加 2000 数据库 的痛苦经历
- java 与sql server 2005(2000)数据库连接 基类(jdbc驱动)(转)
- SQL 2005 中查询或执行另外的数据库操作的方法
- 数据库质疑修复总结 For SQL Server 2000/2005/2008/2008R2
- JAVA之使用JDBC连接数据库-使用微软sqljdbc连接SQL Server 2005数据库
- java 不让查询数据库sql一直在循环中执行的方法