通过隧道连接的Oracle的imp.exe问题

时间:2011-03-07 10:04:30

标签: sql oracle import ora-12514

我们有一台运行在远程服务器上的Oracle服务器,该服务器只有SSH连接,我们需要针对该服务器运行数据导入过程。

我尝试了不同的SSH隧道组合:

  • 127.0.0.1:1521
  • 127.0.0.1:1522
  • 127.0.0.1:11111
  • 127.0.0.107:1522
  • 127.0.0.107:11111

但它们都不能与imp.exe一起使用。有趣的是,所有这些组合对于使用JDBC的SQL Developer和Scriptella脚本都可以正常工作。标准错误输出中显示以下错误:

IMP-00058: ORACLE error 12514 encountered
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
IMP-00000: Import terminated unsuccessfully

以下内容出现在sqlnet.log中:

***********************************************************************
Fatal NI connect error 12514, connecting to:
 (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=tktdb1)(CID=(PROGRAM=C:\oraclexe\app\oracle\product\10.2.0\server\bin\imp.exe)(HOST=...)(USER=...)))(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=11111)))

  VERSION INFORMATION:
    TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
    Windows NT TCP/IP NT Protocol Adapter for 32-bit Windows: Version 10.2.0.1.0 - Production
  Time: 07-MAR-2011 10:53:26
  Tracing not turned on.
  Tns error struct:
    ns main err code: 12564
    TNS-12564: TNS:connection refused
    ns secondary err code: 0
    nt main err code: 0
    nt secondary err code: 0
    nt OS err code: 0

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我认为连接字符串是正确的。如果是:您的数据库是否恰好处于受限模式?在这种情况下,它支持的服务不可用于连接。如果是这种情况,请尝试使用SID = xxx

连接tns别名

我在这里看不到ssh有什么影响。数据库连接正常。如果您需要通过ssh隧道数据库连接,ssh只起作用。如果普通的sql客户端可以在没有这个的情况下连接,那么imp也可以这样做。通常情况下,ssh仅用于连接服务器,在您的情况下不需要。

我希望这有帮助, 罗纳德。