2014-01-20 26 views
0

我有一個託管在IIS中的服務。該服務負責執行批處理文件。該批處理文件包含IMP Oracle命令(通過oracle imp.exe文件調用IMPORT)。無法從IIS運行ORACLE IMP/EXP命令

問題是,該命令沒有被執行(如果批處理文件包含任何簡單的命令,如創建新文件 - 這工作正常)。所以我想這是一個權限問題(我試圖設置一些目錄的權限,但沒有成功)。

任何人都可以知道我做錯了什麼?

感謝, hagai

回答

0

IIS可能運行與環境知識缺乏的服務。我們從批處理調度程序運行exp/imp(或實際上現在是改進的impdp/expdp,它是穩定的,並且需要從11.2.0.3開始),並且具有相同的初始問題。

請確保您有環境變量正確配置:

  • ORACLE_HOME
  • 使用
  • 路徑(包括%ORACLE_HOME%\ bin中)時使用
  • NLS_LANG時
  • TNS_ADMIN

或者從您的批處理腳本中設置它們。

爲了讓你可能要添加類似以下內容到你的小鬼/ EXP的執行更好的記錄:

set LOGFILE=%TEMPDIRSOMEWHERE%\oracle-imp.log 
imp ...options... >>%LOGFILE% 2>&1 

如果收到您沒有在日誌文件理解的錯誤,pleae將它們添加到您的原來的問題。

這是否解決了你的問題?

+0

嗨Guido。我在日誌文件中看到: IMP-00058:遇到ORACLE錯誤1017 ORA-01017:無效的用戶名/密碼;登錄被拒絕用戶名: –

+0

偉大的你找到了原因。在命令行或控制文件中提供用戶名/密碼。如'imp userid = usr/pwd @ service'。您可能想要從環境變量或配置文件選項等中加載這些文件。 –

+0

感謝Guido! 「userid =」解決了問題:-) –