1
我想用SQL加载程序将一些数据加载到Oracle数据库。是否可以通过指定服务器使用DSN而不是TNS加载数据来调用它?用DSN调用SQL加载程序
现在我的命令行如下所示:sqlldr uesr/[email protected]_id...
,我想用指向tns_id
的DSN替换tns_id
。 SQL Loader可以自己从DSN中找出TNS吗?
我想用SQL加载程序将一些数据加载到Oracle数据库。是否可以通过指定服务器使用DSN而不是TNS加载数据来调用它?用DSN调用SQL加载程序
现在我的命令行如下所示:sqlldr uesr/[email protected]_id...
,我想用指向tns_id
的DSN替换tns_id
。 SQL Loader可以自己从DSN中找出TNS吗?
数据库可以通过主机名,端口(通常为1521)和service/sid来识别(以Oracle术语来说)。
SQL加载程序将无法与DSN本身一起工作,但如果您可以使用Windows脚本或类似工具将主机/端口/服务信息蠕虫扫出,那么您将成为大多数情况下的方式。
有了一个完整的客户端安装和tnsnames.ora中做
tnsping dbname
你应该得到类似
Attempting to contact
(DESCRIPTION = (ENABLE=BROKEN) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = servname)))
OK (30 msec)
然后,您应该能够做到
sqlplus user/[email protected]:1521/servname
如何在命令行中对其进行格式化?我尝试了'sqlldr用户/密码@主机名',但那不起作用。 – Zack 2010-03-15 09:02:03
用户名/密码@主机名:1521 /服务名称 – 2010-03-15 11:00:25
我仍然得到'TNS:无法解析指定的连接标识符' – Zack 2010-03-15 11:40:06