java 8中JDBC ODBC桥的删除
从Java8开始,JDK将不再包括JDBC-ODBC桥java 8中JDBC ODBC桥的删除,java,jdbc-odbc,java-8,Java,Jdbc Odbc,Java 8,从Java8开始,JDK将不再包括JDBC-ODBC桥 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // classNotFoundException is thrown 有没有其他连接JDBC-ODBC网桥的解决方案?好吧,在我看来,这说明了一切: 我建议您使用数据库供应商提供的JDBC驱动程序或商业JDBC驱动程序,而不是JDBC-ODBC桥 您将JDBC-ODBC桥用于哪种应用程序 如果是生产代码,您应该尽快用真正的驱动程序替换网桥,用
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // classNotFoundException is thrown
有没有其他连接JDBC-ODBC网桥的解决方案?好吧,在我看来,这说明了一切:
我建议您使用数据库供应商提供的JDBC驱动程序或商业JDBC驱动程序,而不是JDBC-ODBC桥
您将JDBC-ODBC桥用于哪种应用程序
- 如果是生产代码,您应该尽快用真正的驱动程序替换网桥,用真正的数据库替换遗留数据库
- 如果测试代码与Access DB、Excel电子表格或任何可以通过ODBC访问的内容交互,请尝试用纯Java数据库(如H2)替换它
- 如果出于开发和/或分析目的,您使用它对遗留access数据库进行临时访问,并且确实不能或不想更新任何内容,那么您可以使用JDK 7相当长的一段时间,直到它的生命周期结束,并且可能远不止于此
commons-lang-2.4.jar
commons-logging-1.0.4.jar
hsqldb.jar(2.2.5)
这些都是开源的。进行internet搜索、下载、解压缩(如果需要),并将所有四个JAR加上一个用于UCanAccess的JAR放在项目的目录中(例如JDBC到MSAccess)。如果使用Ecplise,通过从菜单“Project/Properties/Java编译器/Libraries/addexternaljars”中选择并选择所有五个jar文件来添加到构建路径
连接逻辑非常简单:
String strConnectionString=”“;
连接管理员=null;
//寄存器驱动程序
类forName(“net.ucanaccess.jdbc.UcanaccessDriver”);
//System.getProperty(“user.dir”)=>从中启动应用程序的当前工作目录
strConnectionString=“jdbc:ucanaccess://”+System.getProperty(“user.dir”)+“\\您的数据库名称。”;
//打开与数据库的连接
conAdministrator=DriverManager.getConnection(strConnectionString);
有没有其他连接JDBC-ODBC网桥的解决方案
太阳公司和甲骨文公司一直都是这样--
[JVM绑定的]JDBC-ODBC桥应被视为一种过渡解决方案[…]Oracle不支持JDBC-ODBC桥
然而,我的雇主从JVM1.0开始就在JDBC和ODBC之间建立了企业级的商业1型网桥,这些网桥与当前的JVM1.8完全兼容。你可以在这里学到更多--
- --用于ODBC数据源的JDBC驱动程序
- --用于JDBC数据源的ODBC驱动程序
Sun --> Security --> Action
--> JDBC
jar-cvfjdbc.jarsun
lib
文件夹中。如果不起作用,请尝试lib\ext
文件夹有人能帮我吗?你可以随时从JDK 7中提取驱动程序。@RickyMutschlechner为什么选择EasySoft?它们似乎定价过高…@BAR只是我在谷歌lolAnd上发现的一个随机建议,我想感谢Robert Petermier的精彩回答,因为我只花了1小时就迁移到了H2。不幸的是,由于声誉不好,我无法提高他的回答率,但仍然可以说谢谢。作为对这个回答的补充,我想指出,您可以使用Excel电子表格和Access数据库。不过,这两项工作都比ODBC要多一些。一位Oracle员工建议更改您的企业数据库,因为缺少持续的驱动程序支持。经典。@BAR:哪一个“企业”数据库没有合适的JDBC驱动程序?@a_horse_和_no_名称这正是我的观点。任何真正的企业数据库都会使用JDBC,JDBC并不总是用JDBC遗留驱动程序替换ODBC驱动程序的最佳解决方案,例如:在使用Sybase IQ时,ODBC驱动程序的运行速度比用于OLAP的JDBC驱动程序快500%。仅凭我的经验。这是帮助希望连接到Access数据库的用户的好建议(更多详细信息)。不过,这不是一个通用的ODBC解决方案。请投票选出好的答案。你能给我指一下驾驶执照吗?@YazadKhambata-我不知道你在找什么。可能地你还可以学到更多。这就是我一直在寻找的。谢谢。投票支持这个解决方案,因为它对我来说还可以。但是注意,您必须复制到\lib\ext文件夹,注意不要将32位版本复制到64位版本,反之亦然。嗨,frank,@runholen,你们能帮我解决同样的问题吗?这是我的问题嗨,user2423959。尝试从我的谷歌硬盘下载这些文件,确保它们都在类路径上。(附带文件适用于64位odbc btw)对于步骤1,另一种方法是仅解压缩所需内容,而不是下载并运行安装。windows exe可以用7zip打开,使用解压200可以拉出rt.jar。您也可以拉出dll。对于步骤7,如果JRE8
lib
文件夹不工作,请尝试JRE8lib\ext
文件夹。普蒂
Sun --> Security --> Action
--> JDBC