oracle - Oracle sqlldr ORA-28009:连接为 SYS 应为 SYSDBA 或 SYSOPER
问题描述
我尝试从 DOSsqlldr
运行SYS/PASS@
sqlldr.exe 'sys/PASS@orcl' control="D:/test/control_file.dat" log="D:/test/log.log"
并得到了这个错误
Oracle sqlldr ORA-28009:连接为 SYS 应为 SYSDBA 或 SYSOPER
有人可以告诉我在上面的命令行中指定SYSDBA
或指定吗?SYSOPER
解决方案
您需要添加AS SYSDBA
到您的连接字符串。尝试这个:
sqlldr.exe 'sys/PASS@orcl AS SYSDBA' control="D:/test/control_file.dat" log="D:/test/log.log"
附言
来自文档的注意事项:
此示例显示了用引号和反斜杠括起来的整个连接字符串。这是因为字符串 AS SYSDBA 包含一个空格,在这种情况下,大多数操作系统要求将整个连接字符串放在引号中或通过某种方法标记为文字。某些操作系统还要求命令行上的引号前有转义字符。在此示例中,反斜杠用作转义字符。如果反斜杠不存在,SQL*Loader 使用的命令行解析器将无法理解引号并将它们删除。有关系统上的特殊字符和保留字符的信息,请参阅特定于 Oracle 操作系统的文档。
推荐阅读
- hazelcast - Hazelcast Projection 获取单个字段
- swift - 如何为单选按钮着色?
- php - Laravel 获取多个查询值
- .net - 如何使用接口来提供与多重继承(重叠继承)相同的功能?
- javascript - 如何在 react-native-image-resizer 中设置输出路径?
- python - NameError:名称“键”未定义
- c++ - 此代码是否会在运行时导致无限分配?
- python - 如何在 Python 中使用 MySQLs Point 类型?
- ios - 如何将十六进制 NSData 转换为十进制 NSData?
- r - R - 使用最小值将指定的列转换为正值