我正在尝试将一些数据直接从SQL数据库导入R中。我已经建立了连接,没有问题,但是提取数据有些困难。我将尝试使它尽可能清晰,因为由于某些敏感信息,我认为我无法使其再现。当我运行以下行时,我得到了我想要的数据:

myconn <- odbcConnect("COMPANYNAME", uid = "support", pwd = "password111?")
sqlQuery(myconn, "SELECT * FROM Metrics")

但是,当我包含要从服务器中提取的特定数据库时,出现了一个问题:
sqlQuery(myconn, "USE companyname_clientname SELECT * FROM Metrics")

其中companyname_clientname是数据库。我得到的不是我想要的数据,
character(0)

我知道引入“USE companyname_clientname”是问题,我只是不知道为什么或如何解决它。如果有什么可以让您更轻松地帮助我,请告诉我,我会接受的。

最佳答案

我遇到了同样的问题,发现有两个原因:

  • 就像其他人指出的那样,SET NOCOUNT ON必须在查询的开始处
  • 仅仅解决了返回字符(0)的问题。我发现我的SQL查询还具有PRINT语句,该语句输出用于调试目的的变量。删除PRINT语句,然后成功返回输出,在我的情况下为临时表。

  • 希望这对其他人有帮助!

    10-06 14:25