web-dev-qa-db-ja.com

RODBC odbcDriverConnect()接続エラー

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

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

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

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

エラー。何か案が?

使うことができます

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

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

18
lijie98

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

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')

スラッシュはエスケープ文字のように見え、スラッシュはエスケープされます。

34
lijie98

Microsoftの場合ODBC Rバージョン3.0.1のRODBCバージョン1.3-7を使用するLinux上のSQL Serverのドライバー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は「yes」または「no」のみをリッスンし、「true」と「false」はリッスンしません

9
FvD

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 conectorの接続名です

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

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

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

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

with condition 1テーブルの一部は、データフレームとして取得できます。

sqlSave(channel, dataframe)

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

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

sqlCopy()sqlDrop()

sqlTables()

close(channel)

常に接続を閉じます

1
sanjeeb