web-dev-qa-db-ja.com

Rのodbcデータベースへの接続の失敗

odbcConnectコマンドを使用して会社のDMSをRに接続しようとしていますが、次のメッセージが表示されます。

myConn <-odbcConnect("NZSQL", uid="cejacobson", pwd="password")
Warning messages:
1: In odbcDriverConnect("DSN=NZSQL;UID=cejacobson;PWD=password") :
  [RODBC] ERROR: state IM002, code 0, message [unixODBC][Driver Manager]Data source name not found, and no default driver specified
2: In odbcDriverConnect("DSN=NZSQL;UID=cejacobson;PWD=password") :
  ODBC connection failed

問題は、データソース名がNZSQLであり、私のuidとパスワードも正しいことです。なぜRが私のデータソース/ドライバーを見つけられないのかについての洞察(ドライバーは、ちなみに、指定されて機能しています)。

ありがとう!

16
cjacobso

最初にOracleデータベースに接続しようとしたときに、同じ問題に遭遇しました。最後に、私にとってうまくいったのは、odbcConnectの代わりにodbcDriverConnectと接続文字列を使用することでした。

myConn <-odbcDriverConnect("Driver={Oracle in OraClient11g_home1};Dbq=NZSQL;Uid=cejacobson;Pwd=password;")

https://www.connectionstrings.com/ でデータベースの特定の接続文字列を確認できます。私はたまたま これ だった。

お役に立てれば。

5
Phil

これはIM02エラーであり、DSNの名前が正しくないことを意味します。

ODBC=に移動し、使用する必要があるUSER/System DSNを確認します。DSNの名前が正しいと、アーキテクチャが一致しないというIM014状態エラーが発生する可能性があります。その場合、

より簡単な解決策はIN r studioです。ツールに移動し、Rのバージョンを32ビットに変更します。

それは働く準備ができているはずです

2
JayPadhya

SQL Serverデータベースにアクセスしようとすると、同じエラーが発生しました。正しい形式のdb接続を使用した後、SQLサーバーデータベースにアクセスしました。

dbhandle <- odbcDriverConnect("Driver={SQL Server};Server=mydbhost;Database=mydbname;Trusted_Connection=Yes")
2
Chad

私はこれに何日も費やしました。 Microsoft Accessデータベースを使用している場合は、データベースへの完全なパスを使用する必要があります。同じフォルダーでファイルを見つけることもできません。上記の質問から、

myConn <-odbcConnect("NZSQL", uid="cejacobson", pwd="password")

のようなものにする必要があります

myConn <-odbcConnect("c:\\NZSQL", uid="cejacobson", pwd="password")

Philのリンクは本当に役に立ちました: https://www.connectionstrings.com/

0
wittyalias

私にとってうまくいったのは、64ビット接続ではなく32ビット接続でした。

0
goldilocked3149

これが古いことは知っていますが、「=」記号の前後のスペースを必ず削除してください。それが私の問題でした。

0
Danrex