21

私は使用しようとしています

odbcDriverConnect('driver={SQL Server};server=servername\instancename,port;database=testing;username=abc;password=123456') 

リモート データベース サーバー (SQL Server 2008) に接続します。しかし、私は得ました

[RODBC] エラー: 状態 08001、コード 17、メッセージ [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server が存在しないか、アクセスが拒否されました。

エラー。何か案が?

使うことができます

odbcDriverConnect('driver={SQL Server};server=localhost;database=testing;trusted_connection=true') 

ローカル データベース サーバー (SQL Server 2008) に接続します。

4

4 に答える 4

36

正しい構文は次のとおりです。

odbcDriverConnect('driver={SQL Server};server=servername\\instancename,port;database=testing;uid=abc;pwd=123456')

Windows 認証方式を使用する場合:

odbcDriverConnect('driver={SQL Server};server=servername\\\\instancename,port;database=testing;trusted_connection=true')

スラッシュはエスケープ文字のように見え、スラッシュのエスケープが機能します。

于 2013-03-15T16:00:00.497 に答える
11

R バージョン 3.0.1 の RODBC バージョン 1.3-7 を使用する Linux 上の SQL Server 用の Microsoft ODBC Driver 11 の場合、上記の回答はどれも機能しませんでした。ただし、機能したのは次のとおりです。

dbconnection <- odbcDriverConnect("Driver=ODBC Driver 11 for SQL Server;
                Server=127.0.0.1; Database=MyDBName; 
                Uid=MyName; Pwd=XXXX")

(関連する IP アドレス、データベース名などを入力します)。

信頼できる接続の場合:

dbconnection <- odbcDriverConnect("Driver=ODBC Driver 11 for SQL Server;
                Server=127.0.0.1; Database=MyDBName; 
                Uid=MyName; Pwd=XXXX; trusted_connection=yes")

trusted_connection「はい」または「いいえ」のみをリッスンし、「true」および「false」はリッスンしません

于 2013-09-01T18:21:40.943 に答える
1

1.MySQLへの接続

a) Mysql がシステムにインストールされている場合、そうでない場合はインストールします。

b) RMySQL IN R をダウンロードします。

library(RMySQL)

drv = dbDriver("MySQL 5.0.1")

MySQL のバージョンが正しいことを確認してください。

con = dbConnect(drv,host="localhost",dbname="test",user="root",pass="root")

ローカルホストを使用するか、サーバー、つまりIPアドレスを使用します

必要なデータベース名、ユーザー名、およびパスワードを使用します

album = dbGetQuery(con,statement="select * from table")

必要なクエリを実行する

close(con)

2.データベースを接続する別の方法

a)最初にMySQL、Oracle、SQL Serverなどのデータベースをインストールします

b) データベース用の ODBC コネクタをインストールする

library(Rodbc)

channel <- odbcConnect("test", uid="ripley", pwd="secret")

test は、ユーザーが手動で設定する必要がある odbc コネクタの接続名です

ユーザーは管理者ツールでこれを見つけることができます

res <- sqlFetch(ch, "table name")

テーブルはデータフレームとして取得できます

res<-sqlQuery(channel, paste("select query"))

with condition one テーブルの一部をデータ フレームとして取得できます

sqlSave(channel, dataframe)

データフレームをデータベースに保存します(このような「res <-」は使用しないでください)

ユーザーが使用できるように

sqlCopy() sqlDrop()

sqlTables()

close(channel)

常に接続を閉じる

于 2013-03-17T14:58:04.627 に答える