[英]Cannot Connect to Linux Oracle Databse with Perl Script after connecting with PuTTY
我有以下問題:
我目前在Windows 10計算機上使用PuTTY連接到我們的Linux服務器之一。 如果使用“標准” PuTTY連接,則沒有問題:我可以登錄並運行我的Perl腳本來訪問Linux服務器上的Oracle數據庫。 但是,最近我建立了一個新的PuTTY連接(我復制了上面使用的原始工作副本)。 與原始文件的唯一區別是,我在PuTTY配置窗口的Connection->SSH->Remote command
部分中輸入了以下內容:
cd ../home/code/project1/scripts/perl ; /bin/bash
(我這樣做是為了直接進入包含所有腳本的文件夾。)
我仍然可以毫無問題地登錄服務器,它直接將我帶到包含Perl腳本的文件夾中。 但是,當我運行腳本訪問Oracle數據庫時,出現以下錯誤:
DBI connect('server1/dbname','username',...) failed: ERROR OCIEnvNlsCreate. Check ORACLE_HOME (Linux) env var or PATH (Windows) and or NLS settings, permissions, etc. at PerlDBFile1.pl line 10.
impossible de se connecter à server1 / dbname at PerlDBFile1.pl line 10, <DATA> line 1.
另外,如果我在服務器上運行env
命令,則未列出變量$ORACLE_HOME
(如果在具有標准PuTTY連接的服務器上運行相同的env
命令,則存在$ORACLE_HOME
變量。)
只需注意:通過我創建的任何一個PuTTY會話在服務器上運行任何其他Perl腳本(不會訪問Oracle數據庫)都可以正常工作。
任何幫助,不勝感激。
在PuTTY中設置遠程命令時,它將跳過默認$HOME
目錄中存在的.bash_profile
運行。 這就是為什么您得到錯誤。
若要解決此問題,請在您的perl目錄中放置.bash_profile
的副本,或在遠程命令中添加命令以執行.bash_profile
好的,我有解決方案!...感謝所有答復。
基本上,我最初有以下命令:
cd ../home/code/project1/scripts/perl; / bin / bash(請參閱原始帖子)
為了使其正常工作,我將上述內容替換為
cd ../home/code/project1/scripts/perl; 來源〜/ .bash_profile; /斌/慶典
我也嘗試過:
cd ../home/code/project1/scripts/perl; /斌/慶典; 來源〜/ .bash_profile
但這沒有用。
希望這對某人有幫助。
Gauss76
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.