使用cx_Oracle命令导入oracle转储文件到oracle



我试图导入转储文件到Oracle使用cx_Oracle。我能一个命令一个命令地执行。有谁能建议怎么做吗?

我正在使用:

imp servicely/tiger@ubuntu file=/home/hemalatha/hemalatha_data/test_data/oracle/schema_only.sql full=y. 

但是,我得到错误:IMP-00037:字符集标记未知

我想你对你实际拥有的东西感到困惑。

你说

我可以一个命令一个命令地执行

和您假定的导入文件具有.sql扩展名。我认为你有一个脚本充满SQL语句。没有导出文件,导出文件是由expexpdp生成的二进制文件。impimpdp分别用于导入expexpdp生成的文件。如果你让他们运行一个SQL脚本,他们会表现得很困惑。

如果您有一个SQL脚本对数据库运行,使用SQL*Plus。下面是一个简单的SQL*Plus脚本,它没有做太多的事情:

PROMPT Hello, we are in SQL*Plus
SELECT * FROM DUAL;
下面是一个简单的Python脚本,用于在SQL*Plus中运行此脚本并显示输出:
import subprocess
script = subprocess.Popen(["sqlplus", "-L", "user/password", "@script.sql"],
                          stderr=subprocess.STDOUT, stdin=subprocess.PIPE,
                          stdout=subprocess.PIPE)
script.stdin.close()  # Force SQL*Plus to exit after reading script.
for line in script.stdout:
    print line.rstrip()

注意,我们需要连接到SQL*Plus的输入并关闭它,否则SQL*Plus将不会退出,脚本将挂起。

当我运行它时,我得到以下输出:

SQL*Plus: Release 11.2.0.2.0 Production on Mon May 26 14:22:34 2014
Copyright (c) 1982, 2010, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production
Hello, we are in SQL*Plus
D
-
X
SQL> Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production

相关内容

  • 没有找到相关文章

最新更新