簡體   English   中英

與PuTTY連接后無法使用Perl腳本連接到Linux Oracle Databse

[英]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.

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