我们设置了一台Oracle服务器,并使用带有SSL的TCP作为连接。此设置是使用助手向导进行的,我们几乎在任何地方都使用默认设置(这也意味着不存在tnsnames.ora或listener.ora )。lsnrctl status显示正确的端口正在侦听。
我们正在尝试通过DBeaver和SQuirrel SQL连接到此数据库,但无法使其工作。我们已经将程序的vmargs设置为包含服务器的证书(例如dbeaver.exe -vmargs -Djavax.net.ssl.trustStore=C:/...keystore.jks -Djavax.net.ssl.trustStorePassword=password -Djavax.net.ssl.trustStoreType=JKS),这可以很好地工作。
使用具体的JDBC URL字符串(jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=IP)(PORT=5500))(CONNECT_DATA=(SERVICE_NAME=testdb))))连接到数据库不起作用,并且在60秒后超时,没有正确的错误(IO错误:读调用得到的值减1)。我们已经尝试了几乎所有的方法,但都不能正常工作。
如果端口分配正确,则可以使用正常的TCP协议和端口1521成功访问数据库。jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=IP)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=testdb)))
我们是否遗漏了一些步骤?似乎没有任何防火墙问题。证书似乎也工作得很好,但我们无法连接任何程序(或通过命令行连接sqlplus )。
有人知道问题出在哪里吗?谢谢!
发布于 2018-05-02 18:59:32
最后,我让它工作了。有各种各样的在线网站向你展示了它是如何做到的。我使用了这个:https://database.edorex.ch/blog/database-connection-with-a-certificate/
在数据库中设置钱包、证书和用户是最重要的步骤。此外,我还必须将服务器和客户端机器分开。服务器现在在VM上,它是这样工作的,我无法让它在同一台机器上工作。
发布于 2018-04-21 09:11:01
您可以查看SSL blog或我们的OTN page中的分步说明吗?如果您使用的是TLSv1.2,那么JDK版本和JDBC驱动程序版本非常重要。
https://stackoverflow.com/questions/49881462
复制相似问题