2017-01-18 79 views
0

ROracleを使用してOracleに接続しようとしています。私は(Linux上)の端末からSQL * Plusを使用することが可能ですが、Rに次のコードを使用して:LinuxでROracleを使用してOracleデータに接続できません(エラーORA-01804、Sql * Plus使用可能)

library(ROracle) 
drv <- dbDriver("Oracle") 

私はエラーを取得する:

Error in .oci.Driver(.oci.drv(), interruptible = interruptible, unicode_as_utf8 = unicode_as_utf8, : 
Error while trying to retrieve text for error ORA-01804 

私はRStudioバージョン3.2を使用しています。 5。

Oracleデータベースへの接続はローカルです。私の環境変数は永久にプロファイルに設定されるので、明示的に設定する必要はありません。しかし、安全のために、私が使用して再度明示的に設定しなかった。当然のことながら

Sys.setenv() 

を、これは助けにはなりませんでした。

私はどこから始めるか分からないので、どんな指針も大変ありがとうございます。前もって感謝します!

**編集:ORA-01804エラーがタイムゾーンの読取りに関する問題であることも認識しています。だから、私は、SQL * Plusのを開始し、私のNLS_LANGパラメータを与えた

!echo $LANG 

を実行した後

NLS_LANG=en_US.UTF8 

を設定してみました。これで、ORA-12715エラーが表示されます。

ORA-12715:invalid character set specified 

これは、NLS_LANGパラメータが正しくないことを示しています。私はUTF-8、en、米国、アメリカ、アメリカ、英語など様々な組み合わせを試してみましたが、うまくいきません!

答えて

0

MacでこのORA-01804エラーの回避策が見つかりました。コマンドラインからRを起動する場合は、インスタントクライアントディレクトリ内からRを起動する必要があります。だから、最初の操作を行います。Rでsetwd("/path/to/instantclient_11_2")を使用していること

enter image description here

注:

cd /path/to/instantclient_11_2 

>はグローバルオプションツール]に移動し、インスタントクライアントのディレクトリにデフォルトの作業ディレクトリを変更RStudioでこのエラーを回避するにはRStudioではなくコマンドラインからRを起動するときに働きました。

ところで、ORACLE_HOMEをエクスポートする必要はありませんでした。

関連する問題