簡體   English   中英

在R中使用DBI:dbConnect連接到SQL Server時出現問題

[英]Issue connecting to SQL Server using DBI:dbConnect in R

我嘗試的第一種方法有效。 我首先在Windows上與ODBC data source administrator定義了ODBC連接my_connection_name 然后,我使用以下代碼:

library(DBI)
library(odbc)
con <- DBI::dbConnect(odbc(),
                      dsn='my_connection_name',
                      UID = "firstname.lastname@company.com",
                      PWD = "mypassword")

這樣很好!

但是,當我嘗試在dbConnect函數中定義驅動程序,服務器和數據庫名稱時。 它失敗!

con <- DBI::dbConnect(odbc(),
                      Driver = "ODBC Driver 13 for SQL Server",
                      Server = 'my_server_name',
                      Database = "my_database_name",
                      UID = "firstname.lastname@company.com",
                      PWD = "mypassword",
                      Trusted_Connection = "yes")

我收到錯誤消息:

Error: nanodbc/nanodbc.cpp:950: 08S01: [Microsoft][ODBC Driver 13 for SQL Server]TCP Provider: An existing connection was forcibly closed by the remote host.

有趣的是,當我刪除Trusted_Connection = "yes"

con <- DBI::dbConnect(odbc(),
                      Driver = "ODBC Driver 13 for SQL Server",
                      Server = 'my_server_name',
                      Database = "my_database_name",
                      UID = "firstname.lastname@company.com",
                      PWD = "mypassword")

我收到這樣的錯誤消息:

錯誤:nanodbc / nanodbc.cpp:950:HY000:[Microsoft] [用於SQL Server的ODBC驅動程序13] [SQL Server]無法打開登錄請求的服務器“ company.com”。 登錄失敗。

之前定義ODBC連接時,我使用了相同的驅動程序,服務器和數據庫名稱。

我的身份驗證選項是ActiveDirectoryPassword

有人知道發生了什么嗎?

如果使用Trusted Connection =是,則無需提供用戶名和密碼。 您的服務帳戶將用於連接到SQL Server。

con <- DBI::dbConnect(odbc(),
                      Driver = "ODBC Driver 13 for SQL Server",
                      Server = 'my_server_name',
                      Database = "my_database_name",                    
                      Trusted_Connection = "yes")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM