6

Vertica に接続するのはこれが初めてです。RODBC ライブラリを使用して、既に MySQL データベースに正常に接続しています。

vertica でデータベースをセットアップし、Windows 64 ビット ODBC ドライバーをhttps://my.vertica.com/download-community-edition/からインストールしました。

R を使用して vertica に接続しようとすると、次のエラーが表示されます。

channel = odbcDriverConnect(connection = "Server=myserver.edu;Database=mydb;User=mydb;Password=password")

Warning messages:
1: In odbcDriverConnect(connection = "Server=myserver.edu;Database=mydb;User=mydb;Password=password") :
[RODBC] ERROR: state IM002, code 0, message [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
2: In odbcDriverConnect(connection = "Server=myserver.edu;Database=mydb;User=mydb;Password=password") :
ODBC connection failed

誰かがこれを修正する方法を教えてもらえますか? または、R を使用して vertica に接続する他の方法はありますか?

4

2 に答える 2

13

最速ではないかもしれませんが、私は R の Vertica JDBC ドライバーを使用することを好みます。異なるオペレーティング システム間で ODBC ドライバーを動作させるのは少し面倒です。他のアプリケーション用に Java ランタイム環境 (JRE) が既にインストールされている場合、これはかなり簡単です。

Vertica サーバー バージョン用の Vertica JDBC ドライバーを MyVertica ポータルからダウンロードします。ドライバー (.jar ファイル) をオペレーティング システムに適した場所に配置します。

ワークスペースにRJDBCをインストールします。

install.packages("RJDBC",dep=TRUE)

R スクリプトで、RJDBC モジュールをロードして Vertica ドライバーのインスタンスを作成し、ダウンロードしたドライバーの場所とファイル名を指すように classPath 引数を調整します。

library(RJDBC)
vDriver <- JDBC(driverClass="com.vertica.jdbc.Driver", classPath="full\path\to\driver\vertica_jdbc_VERSION.jar")

ホスト、ユーザー名、およびパスワードを接続の詳細に置き換えて、ドライバー オブジェクトを使用して新しい接続を作成します。

vertica <- dbConnect(vDriver, "jdbc:vertica://host:5433/db", "username", "password")

次に、SQL クエリを実行します。

myframe = dbGetQuery(vertica, "select Address,City,State,ZipCode from MyTable")
于 2013-06-25T19:38:13.977 に答える
1

JDBC 関数の classPath 引数で二重スラッシュを使用する必要があります。例えば、

vDriver <- JDBC(driverClass="com.vertica.jdbc.Driver", 
classPath="C:\\Program   Files\\Vertica Systems\\JDBC\\vertica-jdk5-6.1.2-0.jar")

ルートをコピーして貼り付けるだけで失敗しましたが、うまくいきました。

于 2015-11-27T07:23:05.183 に答える