【问题标题】:Setting up a connection to Oracle on Mac using java使用 java 在 Mac 上设置与 Oracle 的连接
【发布时间】:2013-09-18 10:00:21
【问题描述】:

我正在尝试使用 tutorial 连接 Oracle 数据库 我已将 ojdbc6.jar 与 OracleJDBC.java 放在同一文件夹中。

但它给了我一个错误:

-------- Oracle JDBC Connection Testing ------
Where is your Oracle JDBC Driver?
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at jaa.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:190)
at OracleJDBC.main(OracleJDBC.java:13)

不明白是什么问题?

【问题讨论】:

  • 本教程告诉您以java -cp ... 运行它,您这样做了,并使用.jar 和您编译的类的OS X 路径,而不是他们示例中的Windows 路径?
  • 是的,我运行那个命令并且我使用我的 os x 路径,它运行并且什么都不做,然后我运行下一个命令 user-vaio:src apple$ java -cp ojdbc6。 jar;OracleJDBC
  • 您需要cp 的两个元素,正如 GyroGearless 所展示的那样 - 尽管我更喜欢完整路径,例如java -cp $PWD/ojdbc6.jar:$PWD OracleJDBC。使用该站点的代码对我有用。
  • 我需要保存 tnsname.ora 吗?它显示-------- Oracle JDBC Connection Testing ------ Oracle JDBC Driver Registered!连接失败!检查输出控制台 java.sql.SQLRecoverableException: IO 错误:网络适配器无法在 oracle.jdbc.driver.PhysicalConnection.( PhysicalConnection.java:536) 在 oracle.jdbc.driver.T4CConnection.(T4CConnection.java:228) 在 oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
  • 你不需要tnsnames.ora,不。您是否将 DriverManager.getConnection() 调用中的值更改为适合您尝试连接的数据库的值?

标签: java database oracle jdbc connection


【解决方案1】:

这对于 mac 用户来说可能是意料之外的,但仅仅将 jar 放到文件夹中以使事情正常运行是不够的。

试试类似的东西

java -cp .:odbc6.jar OracleJDBC

【讨论】:

  • 谢谢,但是去哪里试试呢?在终端?
  • 现在它说:-------- Oracle JDBC Connection Testing ------ Oracle JDBC Driver Registered!连接失败!检查输出控制台 java.sql.SQLRecoverableException: IO 错误:网络适配器无法在 oracle.jdbc.driver.PhysicalConnection.( PhysicalConnection.java:536) 在 oracle.jdbc.driver.T4CConnection.(T4CConnection.java:228) 在 oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32) 在 oracle.jdbc.driver.OracleDriver .connect(OracleDriver.java:521)
  • 我需要保存 tnsname.ora 吗?
  • 我认为纯 Java JDBC 驱动程序不需要 tnsnames.ora(但我已经有一段时间没有使用 Oracle,所以我可能错了)。也许发布您的连接代码和您使用的确切连接 URL!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多