在R中执行SQL Server存储过程但未获取CSV文件

时间:2018-06-13 21:37:51

标签: r sql-server rodbc

我正在尝试在R中执行SQL Server存储过程。应该在R代码的其余部分中使用SQL Server过程的结果。通常,SQL Server过程的结果是一些保存在指定文件夹中的CSV文件。

在R代码中,我想要:

  1. 在指定文件夹上生成那些我以后可以在R中再次导入它们的CSV文件
    1. 将CSV文件的内容作为R中的几个表格(矩阵或数据框)而不保存在任何地方。
    2. 为了连接到SQL Server并执行存储过程,我编写了以下代码:

      library(RODBC)
      
      querystring <- paste("DECLARE @return_value int,",
                       "@Status int ",
                       "exec @return_value = pEDC_RunStandalone @SourceDB = 
      mySourceDB,",
                       "@PortInfoID = 'ALL',",
                       "@DestFileFolder = mySpecifiedDestinationPath,",
                       "@ConvertEQAsEQFire = 1,", 
                       "@Status = @Status OUTPUT ",
                       "SELECT 'Return Value' = @return_value",
                       sep ="")
      
      conn<- odbcDriverConnect('driver={SQL Server Native Client 11.0};server=myServer;database=myDatabaseName;trusted_connection=no;uid=myUID;pwd=myPassword')
      
      data <- sqlQuery(conn,querystring, errors=FALSE)
      
      odbcCloseAll()
      

      代码不使用ERROR或WARNINGS。所以,我认为它可以连接到服务器没有问题,它应该能够运行存储过程。但是,不会生成CSV文件!

      我在sql查询文件中复制/粘贴查询字符串并在SQL Server Management Studio中运行它,它可以工作并生成CSV结果文件。

      知道问题是什么以及如何解决?

      很抱歉,我不能制作任何比我上面提供的代码更多的代码!

0 个答案:

没有答案