使用R连接到数据库时出现问题

zpgglvta  于 2022-12-05  发布在  其他
关注(0)|答案(1)|浏览(169)

我正在尝试amazonaws.com使用提供给我的详细信息连接到www.example.com数据库。但是,当我运行代码时,出现以下错误
“错误代码:nanodbc/nanodbc.cpp:1021:08001:[Microsoft][用于SQL Server的ODBC驱动程序18]TCP提供程序:超时错误[258]。[Microsoft][ODBC Driver 18 for SQL Server]登录超时已过期[Microsoft][ODBC Driver 18 for SQL Server]由于预登录响应延迟,无法完成登录过程。”

“[Microsoft][ODBC驱动程序管理员]找不到数据来源名称,而且未指定预设的驱动程序。”
以下是当前安装在计算机上的驱动程序:

[1] "SQL Server"
[2] "ODBC Driver 18 for SQL Server"
[3] "Microsoft Access Driver (*.mdb, *.accdb)"
[4] "Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)"
[5] "Microsoft Access dBASE Driver (*.dbf, *.ndx, *.mdx)"
[6] "Microsoft Access Text Driver (*.txt, *.csv)"

下面是我尝试过的两个代码块,它们都没有成功连接。

dbConnect(
  drv = odbc::odbc(),
  driver = "driver",
  database = "database",
  server = "server",
  uid = "username",
  pwd = "password")

dbConnect(RMySQL::MySQL(),
          dbname = "databasename",
          host = "amazonawsaddress",
          port = port,
          user = "username",
          password = "password")

感谢您提供任何帮助我解决此问题的建议。

plicqrtu

plicqrtu1#

您提供的代码似乎存在一些潜在问题。
首先,错误消息“找不到数据来源名称,且未指定预设驱动程序”表示您尝试使用的ODBC驱动程序未正确设定或安装。您必须确定驱动程序已正确安装,且已在程式码中指定正确的驱动程序名称。
其次,错误消息“超时错误[258]。登录超时已过期”表明与数据库服务器的连接超时。这可能是由于网络问题,也可能是由于连接详细信息不正确(例如,服务器名称或端口号不正确)。您需要仔细检查连接详细信息以确保它们正确。
最后,您提供的代码不完整,没有包含建立连接所需的所有详细信息。例如,代码没有指定要使用的驱动程序,也没有包含数据库服务器的端口号。您需要提供所有必要的详细信息才能成功建立连接。
下面是一个示例,说明如何修改代码以使用ODBC驱动程序建立到Amazon AWS数据库的连接:

dbConnect(
drv = odbc::odbc(),
driver = "ODBC Driver 18 for SQL Server",
database = "database",
server = "server.amazonaws.com",
port = 1433,
uid = "username",
pwd = "password")

您需要将上述代码中的占位符值替换为数据库连接的实际值。
或者,您可以使用RMySQL包建立到Amazon AWS数据库的连接,如下所示:

dbConnect(RMySQL::MySQL(),
dbname = "databasename",
host = "server.amazonaws.com",
port = 3306,
user = "username",
password = "password")

同样,您需要将上面代码中的占位符值替换为数据库连接的实际值。

相关问题