Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/debugging/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle连接测试_Oracle_Shell_Python 2.7_Jdbc_Sqlplus - Fatal编程技术网

Oracle连接测试

Oracle连接测试,oracle,shell,python-2.7,jdbc,sqlplus,Oracle,Shell,Python 2.7,Jdbc,Sqlplus,我们正在开发基于java的web应用程序,它运行在Ubuntu 12.04上。在安装开始时,我们会提示输入Oracle server的主机、端口、用户、密码和SID详细信息,然后将其传递给安装程序以构建jdbc:Oracle:thin url。最终,我们的安装程序连接到Oracle并创建一些表。 现在,我正试图编写一个scriptshell或python来快速验证用户输入的Oracle设置是否正确,只需在将这些设置传递给安装程序之前连接到Oracle并断开连接即可。我尝试使用echo exit

我们正在开发基于java的web应用程序,它运行在Ubuntu 12.04上。在安装开始时,我们会提示输入Oracle server的主机、端口、用户、密码和SID详细信息,然后将其传递给安装程序以构建jdbc:Oracle:thin url。最终,我们的安装程序连接到Oracle并创建一些表。 现在,我正试图编写一个scriptshell或python来快速验证用户输入的Oracle设置是否正确,只需在将这些设置传递给安装程序之前连接到Oracle并断开连接即可。我尝试使用echo exit | sqlplus-L user/password@//host:port/SID | grep Connected>/dev/null,但sqlplus easy connect只使用服务名而不是SID

是否有任何简单的方法来测试Oracle连接性。我需要用脚本编写它,它需要作为安装步骤的一部分自动运行

谢谢你的帮助。

阅读

Oracle侦听器将侦听您的连接请求

这是汤姆答案的复印件

[tkyte@desktoptkyte]$sh-vx test.sh sqlplus “斯科特/tiger@DESCRIPTION=ADDRESS\u LIST=ADDRESS=PROTOCOL=TCPHOST=localhost.localdomainPORT=152 1CONNECT_DATA=SERVER=deficatedservice_NAME=ora9ir2.kyte.com'


使用您的主机、端口和服务名称。

这可能有用:问题是我们的jdbc url使用SID,而sqlplus使用servicename。我可以将JDBCURL切换为使用servicename,但我需要说服我的团队,因为SID url从应用程序开始就存在。我不知道哪种连接方式更可取-SID还是ServiceName?谢谢Alex。如果我使用TNS connect格式而不是easy connect格式,我认为它会起作用。因为我是Oracle的新手,所以我很好奇——如果我硬编码这种格式,并在运行中替换连接参数,它是否适用于所有客户?我的意思是,一个硬编码的tns格式会被所有oracle侦听器接受吗?我不确定我是否理解硬编码的tns格式。可以动态更改Userschema名称、密码、主机、端口和服务名称。Shell变量也可以用于所有这些参数。谢谢Alex。你回答了我的TNS格式问题。不管怎样,我最终将JDBCURL更改为使用servicename而不是SID,从而在测试脚本中保留easy connect格式。到目前为止,进展顺利。