簡體   English   中英

使用cx_Oracle將oracle轉儲文件導入Oracle

[英]Import oracle dump file into Oracle using cx_Oracle

我正在嘗試使用cx_Oracle將轉儲文件導入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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM