Ошибка подключения RODBC odbcDriverConnect()
Я пытаюсь использовать
odbcDriverConnect('driver={SQL Server};server=servername\instancename,port;database=testing;username=abc;password=123456')
для подключения удаленного сервера базы данных (sql server 2008). Но я получил
[RODBC] ОШИБКА: состояние 08001, код 17, сообщение [Microsoft] [драйвер SQL Server ODBC] [DBNETLIB] SQL Server не существует или доступ запрещен.
ошибка. Любая идея?
Я могу использовать
odbcDriverConnect('driver={SQL Server};server=localhost;database=testing;trusted_connection=true')
для подключения моего локального сервера базы данных (sql server 2008).
Ответы
Ответ 1
Правильный синтаксис должен быть:
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')
Слэш выглядит как escape-символ, который выходит из слэша.
Ответ 2
Для Microsoft ODBC Driver 11 для SQL Server в Linux с RODBC версии 1.3-7 в R версии 3.0.1 ни один из вышеперечисленных ответов не работал. Однако было выполнено следующее:
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
будет слушать только "да" или "нет", а не "истина" и "ложь"
Ответ 3
1.Connet для 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")
использовать локальный хост или использовать сервер i.e ip address
используйте требуемое имя базы данных, имя пользователя и пароль
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 - это имя соединения odcc-коннектора, пользователю которого нужно установить вручную
пользователь может найти это в приложении "Администратор"
res <- sqlFetch(ch, "table name")
Таблица может быть получена как фрейм данных
res<-sqlQuery(channel, paste("select query"))
часть условия with одна таблица может быть получена как фрейм данных
sqlSave(channel, dataframe)
чтобы сохранить данные в базе данных (не используйте "res < -" что-то вроде этого)
как пользователь может использовать
sqlCopy()
sqlDrop()
sqlTables()
close(channel)
всегда закрывать соединение