关于java:Oracle与JDBC的连接 | 珊瑚贝

Oracle connection with JDBC


所以我使用 JDBC 和 mySQL 连接到 java 应用程序中的测试 mySQL 数据库,一切正常。生产最终将在 oracle 数据库上。看来我可以更改驱动程序和连接来完成这项工作。

我得到了这个:/usr/local/oracle/product/10.1.0/client_1/bin/sqlplus -S user/password@SERVICE @something.sql

所以我假设这是在本地访问它的方式。我也得到了主人。所以我认为连接 url 将转换为以下内容,我可以这样做:

String url =”jdbc:oracle:thin:user/password@//host/SERVICE”

Connection c = DriverManager.getConnection(url);

但这似乎不起作用。我对@something.sql 部分感到困惑。我如何将它包含在我的连接网址中?我当前的连接 URL”jdbc:oracle:thin:user/password@//host/SERVICE”中是否还有任何明显的错误?

  • 看看这篇文章——stackoverflow.com/questions/4832056/…
  • 我使用 jdbc:oracle:thin:@host:1521:SERVICE 语法并分别提供用户名和密码使其工作。谢谢你。


首先,sqlplus 是 Oracle 的一个命令行实用程序,他们给了你一个例子,在他们的例子中值应该被替换。

如果您有一个名为 “ababa” 的用户,他的密码为 “sesame”。假设服务是服务器 “bottle” 上的 “genie”。如果从命令行运行的 SQL 是 “SELECT * FROM Wishes LIMIT 3″,它位于一个名为 “/tmp/wishes.sql” 的文件中。

从命令行,可以键入以下内容:

1
/usr/local/oracle/product/10.1.0/client_1/bin/sqlplus S ababa/sesame@genie @/tmp/wishes.sql

从 Java 中可以调用:

1
2
3
Connection conn = DriverManager.getConnection(“jdbc:oracle:thin://bottle/genie”,
                                             “ababa”,
                                             “sesame”);

我通常不再直接在我的代码中使用连接字符串,但这看起来基本正确。真正的问题是 Oracle 不是标准的,这就是为什么你在那里有愚蠢的 @ 符号。

您可能还会发现您的某些 SQL 也不起作用。那是因为甲骨文有一些怪癖。在将代码投入生产之前,您确实应该针对 oracle 数据库测试您的代码。

  • 没有”标准”JDBC URL 这样的东西。它是特定于 vendor的(根据定义)。顺便说一句:MySQL 比 Oracle 有更多的怪癖(允许存储 2 月 31 日只是其中之一)
  • 哦,我肯定会在生产前对其进行测试。在代码中直接使用连接字符串的替代方法是什么?
  • 弹簧 JDBC 的东西。 Apache dbUtils。还有一些其他的可以为您抽象出 JDBC 的混乱。


来源:https://www.codenong.com/10144420/

微信公众号
手机浏览(小程序)

Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_8729.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
0
分享到:
没有账号? 忘记密码?