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
打开没有tnsnames.ora的oracle连接_Oracle_Asp Classic - Fatal编程技术网

打开没有tnsnames.ora的oracle连接

打开没有tnsnames.ora的oracle连接,oracle,asp-classic,Oracle,Asp Classic,我有一个旧的asp应用程序在oracle 9g上运行,我使用一个OracleInProcServer.XOraSession对象连接数据库 Set OraSession = Server.CreateObject("OracleInProcServer.XOraSession") Set OraBanco = OraSession.DbOpenDatabase("ORADB01","Username/Password",cint(0)) 所以,我在我的tnsnames.ora上注册了这个

我有一个旧的asp应用程序在oracle 9g上运行,我使用一个OracleInProcServer.XOraSession对象连接数据库

Set OraSession = Server.CreateObject("OracleInProcServer.XOraSession") 
Set OraBanco   = OraSession.DbOpenDatabase("ORADB01","Username/Password",cint(0))
所以,我在我的tnsnames.ora上注册了这个ORADB01


现在让我们假设我需要打开一个与我没有在我的tnsnames.ora上注册的数据库的连接。。。有没有办法使用OracleInProcServer.XOraSession打开连接?

未测试,但值得一试:

Set OraBanco = OraSession.DbOpenDatabase("YourServerName:1521/ORADB01","User/Pass",cint(0))
这至少可以用于将Oracle数据库链接到SQL Server

它不适用于XOraSession,但您甚至可以将整个连接信息放入ODBC连接字符串中:

Provider=OraOLEDB.Oracle.1;Password=***;User ID=username;Data Source="(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)
    (HOST=YourDatabaseServer)(PORT=1521))
    (CONNECT_DATA=(SERVICE_NAME = ORADB01)))"

您的计算机上必须有某种类型的Oracle客户端可用、已安装并可访问。您可以使用
//127.0.0.1:1521/XE
打开与oracle的某些连接,因为这是oracle XE而不是9i,您使用的是ASP,最好是

在计算机级别定义ODBC连接或使用DNS文件 并且您的ASP服务器上必须有可用的oracle客户端

或者,如果您的asp服务器和计算机相同,您可以使用
IPC
连接服务器

我已经用10G和XE完成了这项工作,它工作得很好,您应该检查它是否可以在9i上为您工作


我不知道9G我想是9G。

我试过了,但不幸的是,它不起作用。我可以在使用
ADODB.Connection
时执行类似操作。如果我在tnsnames.ora上有连接,我可以这样打开连接:
objConn.open“DSN=oradb01;Uid=user;Pwd=pass;”
。但是,如果它不在我的tnsnames上,我可以这样打开连接:
objConn.open“Driver={Microsoft ODBC for Oracle};CONNECTSTRING=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=myhost.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=oradb01.mydomain.com));uid=user;pwd=pass;“
很抱歉,我不能给你一个真正的解决方案。在连接XOraSession时,您似乎会被绑定到使用tnsnames.ora。我遇到了完全相同的问题,您的建议对我起到了作用。