Oracle sqlldr 是否可以接受 TNS 条目作为 Oracle 10 和 11 中的实例限定符?

2024-01-03

是否可以使用与 Oracle 10/11 捆绑的 sqlldr 来使用完全限定的 TNS 条目?

例如,在 SQLPlus 中:

    sqlplus user/password@(description=(address=(host=localhost)(protocol=tcp)(port=1521))(connect_data=(sid=orcl))) @script.sql

但使用 sqlldr(SQL 加载器)直接使用 TNS 条目似乎存在问题。具体来说:

    sqlldr user/password@(description=(address=(host=localhost)(protocol=tcp)(port=1521))(connect_data=(sid=orcl))) bad='bad_file.txt' control='control.ctl' data='data.txt' log='log.txt' direct='true'

这是产生的错误消息:

    LRM-00116: syntax error at 'address' following '('

    SQL*Loader: Release 11.2.0.1.0 - Production on Tue Sep 13 15:41:54 2011

    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

    SQL*Loader-100: Syntax error on command-line

尝试将 TNS 条目封装在引号中会产生相同的错误。

查看了 sqlldr 文档,并尝试使用“userid”命令行参数,但无济于事。具体来说:

sqlldr userid='user/password@(description=(address=(host=localhost)(protocol=tcp)(port=1521))(connect_data=(sid=orcl)))' bad='bad.txt' control='control.ctl' data='data.txt' log='log.txt' direct='true'
LRM-00116: syntax error at 'password@(' following '='

SQL*Loader: Release 11.2.0.1.0 - Production on Tue Sep 13 15:44:17 2011

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

SQL*Loader-100: Syntax error on command-line

Oracle 希望强制用户使用本地实例以减少将数据推送到远程主机时的 I/O,这是有道理的。但支持的语法的偏差并不那么直观。还有其他人遇到类似的问题吗?


fwiw,这个人发布了这个问题的解决方案

http://www.simplemancomplexmachine.com/2011/10/sqlldr-one-liner-to-remote-database.html http://www.simplemancomplexmachine.com/2011/10/sqlldr-one-liner-to-remote-database.html

是的,有一个单行解决方案,您可以使用 TNS 连接字符串 从命令行执行此操作。关键是格式化连接 字符串有点不同,因为它必须被引用。另外还有 引号和括号必须转义(反斜杠):

sqlldr userid=dbuser@\"\(description=\(address=\(host=remote.db.com\)\(protocol=tcp\)\(port=1521\)\)\(connect_data=\(sid=dbsid\)\)\)\"/dbpass control=controlfilename.ctl data=data.csv

请注意,在最初的博客文章中,他在“/dbpass”前面有一个空格。这会导致 sqlldr 给出错误:

LRM-00112:参数“userid”不允许有多个值

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Oracle sqlldr 是否可以接受 TNS 条目作为 Oracle 10 和 11 中的实例限定符? 的相关文章

随机推荐

  • Get-WinEvent 开始和结束日期不过滤记录

    get winevent 开始和结束日期不是过滤记录 谁能告诉我为什么 我期望从最近 2 天事件下面的代码中获得数据 但我得到的日期可以追溯到 2010 年 我的 Windows 时钟日期是正确的 String ComputerName e
  • JS:重命名变量以进行重构(使用 AST,而不是文本)

    我经常需要在重构代码时重命名变量 目前我使用正则表达式以一种有点老套的方式做 我最终不得不使用愚蠢的文本解决方案来解决缺乏实际结构的问题 例如 将 req 重命名为 request 并避免具有类似名称 例如 require 的副作用 想想这
  • Ruby 中 And/&& 的运算符优先级 [重复]

    这个问题在这里已经有答案了 我有一个关于 Ruby 中的 and 关键字的问题 ruby 文档说上述关键字的优先级是 1 2 3 and 我写了这段代码 def f n n end if a f 2 and b f 4 then puts
  • 在 YIi 中建立关系时的条件

    Agent agent id primary key User f id foreign key type 我以这种方式创建了关系 public function relations return array user gt array s
  • AttributeError:“NoneType”对象没有属性“_inbound_nodes”

    我想实施损失函数 https i stack imgur com FI9JH png定义在这里 我使用fcn VGG16获得地图x 并添加激活层 x是fcn vgg16网络的输出 然后只需进行一些操作即可提取特征 co map Activa
  • std::is_function 无法将模板参数识别为函数

    我将函数指针传递到函数模板中 int f int a return a 1 template
  • Git 反转暂存区

    我的暂存区域已发生更改 而其他文件尚未暂存 某些文件在暂存区域内外都有更改 我想反转暂存区域的内容和未暂存的更改 是否存在快捷方式可以做到这一点 而不执行更复杂的操作 例如本地侧分支提交 差异或存储 等 谢谢 我是这样做的 将索引提交到临时
  • 注册接收者的正确模式?

    我需要注册一个接收者 我一直在使用以下模式 Override protected void onResume super onResume registerReceiver myReceiver new IntentFilter Overr
  • pip.conf 中私有 PyPI 的凭据

    我有一个私人 PyPI 存储库 有什么办法可以存储凭据pip conf如同 pypirc 我的意思是 目前在 pypirc你可以有这样的配置 distutils index servers custom custom repository
  • Laravel excel导出如何导出条件数据?

    我正在尝试从表中导出部分数据而不是所有数据 我正在使用 Maatwebsiteplugin https laravel excel com 我在控制器中尝试过以下代码 public function report Request reque
  • 带下划线的字母数字正则表达式模式

    我正在扩展 CodeIgniter 表单验证库来检查带下划线的字母数字值不包括破折号 但我对正则表达式模式非常陌生 需要一些帮助 目前对于 alpha numeric CI 有 return preg match a z0 9 i str
  • O(logn) 时间复杂度中 BST 的中位数

    我遇到了给出的解决方案http discuss joelonsoftware com default asp interview 11 780597 8 http discuss joelonsoftware com default asp
  • 管理带有重音字符的路径

    在批处理中 指定名称包含重音字符的路径 在文件系统中找不到文件 去掉路径中的所有重音字符 就可以找到这些文件 尽管如此 我必须管理用重音字符编写的路径 有什么办法可以解决这个问题吗 如果你需要了解我的操作系统 我在 7 32 Thanks
  • 将网站上传保存在子域中

    目前 每当用户通过我们的网站上传文件时 它都会被放入一个文件夹中 例如 www domain com Uploads Docs filename doc 但是 我想将其移至子域 例如 uploads domain com Docs file
  • mac c++ 编译器未找到

    我想今天的问题是 哪个 c 编译器是 mac 上的默认编译器 If I do xcrun find c 它说它在 Applications Xcode app etc 当我搜索 Xcode 目录时tr1 unordered map 在那 所
  • 如何正确定义TCustomFrame的子类?

    我试图定义 TCustomFrame 的子类 但在 TabOrder 属性上出现错误 这些是我遵循的步骤 Add a new TFrame descendant to the form Right click on project add
  • 防止滑动时触摸启动

    我在移动设备上有一个可滚动列表 他们希望人们能够通过滑动来滚动列表 并通过点击来选择一行 问题在于将两者结合起来 如果您实际滚动列表 我不希望选择一行 这是我发现的 滚动时不触发 click mouseup 滚动时触发 鼠标按下 触摸启动
  • Anaconda Navigator 无法打开 - 尝试了所有其他线程

    上周卸载了 Anaconda Navigator 现在重新安装后它就无法工作了 Windows 搜索没有找到 anaconda 导航器程序 但在 C Users admin Anaconda3 pkgs anaconda navigator
  • 使用 MappedByteBuffer 顺序写入长文件比普通 FileChannel 是否有性能优势?

    我试图了解使用 16k 缓冲区短时间连续调用 FileChannel write 和使用附加大小为 16k 映射多个 ByteBuffer 之间的区别 如下所述 https stackoverflow com a 7367952 96287
  • Oracle sqlldr 是否可以接受 TNS 条目作为 Oracle 10 和 11 中的实例限定符?

    是否可以使用与 Oracle 10 11 捆绑的 sqlldr 来使用完全限定的 TNS 条目 例如 在 SQLPlus 中 sqlplus user password description address host localhost