2013-03-14 3 views
15

Я пытаюсь использоватьRODBC odbcDriverConnect() Ошибка соединения

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

для подключения удаленного сервера баз данных (SQL Server 2008). Но у меня есть

[RODBC] ERROR: state 08001, code 17, message [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied.

ошибка. Есть идеи?

я могу использовать

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

соединить мой локальный сервер баз данных (SQL Server 2008).

ответ

28

Правильный синтаксис должен быть:

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

Slash, кажется, как экранирующий символ, спасаясь слэш работ.

1

1.Connet к MySQL

а) если Mysql установлен в вашей системе, если не установить его.

б) скачать 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.Другой способ подключения базы данных

а) сначала установить любую базу данных, как MySQL, Oracle, SQL Server

б) установить разъем ODBC для базы данных

library(Rodbc)

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

тест имя соединения odcc-коннектора, который пользователь должен установить вручную

пользователь может найти это в инструменте администратора

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

таблицы может быть получен в виде кадра данных

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

часть с условием одной таблицы может быть извлечена в качестве кадра данных

sqlSave(channel, dataframe)

, чтобы сохранить данные в базе данных (дон т использование "Рез < -" что-то вроде этого)

как пользователь может использовать

sqlCopy() sqlDrop()

sqlTables()

close(channel)

всегда закрыть соединение

8

для Micr osoft ODBC Driver 11 для SQL Server в Linux с RODBC версии 1.3-7 в версии R.0 3.0 ни один из вышеперечисленных ответов не работал. Однако была сделана работа:

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 будет только слушать «да» или «нет», а не «истина» и «ложь»

Смежные вопросы