我有一个在oracle 9g上运行的旧asp应用程序,并使用 OracleInProcServer.XOraSession 对象连接数据库
Set OraSession = Server.CreateObject("OracleInProcServer.XOraSession")
Set OraBanco = OraSession.DbOpenDatabase("ORADB01","Username/Password",cint(0))
所以,我在我的tnsnames.ora上注册了 ORADB01
现在假设我需要打开一个数据库的连接,我没有在我的tnsnames.ora上注册...有没有办法用 OracleInProcServer.XOraSession 打开连接?
答案 0 :(得分:2)
未经测试但值得一试:
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)))"
答案 1 :(得分:0)
您必须在计算机上安装并可以访问某种类型的Oracle客户端。你可以使用//127.0.0.1:1521/XE
打开一些与oracle的连接,因为这是Oracle XE而不是9i,你使用ASP更好的想法是
在机器级别定义ODBC连接或使用DNS文件 并且您必须在ASP服务器上提供oracle客户端。
或者如果您的asp服务器和机器相同,您可以使用IPC
与服务器的连接
我用10G和XE完成了这项工作,它应该可以检查你应该在9i上工作。
我不知道9G 我认为这是9i。