使用 RODBC 将 SQL 存储过程结果转换为 data.frame 格式

发布于 2024-12-20 11:18:36 字数 378 浏览 0 评论 0原文

我正在使用 RODBC 包在 SQL 服务器中查询结果。我编写了一个特定的存储过程,当在我的 SQL Server 管理中执行时。 studio(例如),返回一个表。但是,当我通过 R 运行查询时,它返回 character(0)

# Execute command...
sqlQuery(production,"exec port.tdp_RISK2_ModelRunCompare @ModelRunId1 = 399")

奇怪的是...当我执行类似...

sqlQuery(production,"exec sp_who")

我得到一个结果表...

帮助?

I am using the RODBC package to query for results in my SQL server. I have a certain stored procedure written that, when executed in my SQL Server Mgmt. studio (for example), returns a table. However, when I run the query through R, it returns character(0)

# Execute command...
sqlQuery(production,"exec port.tdp_RISK2_ModelRunCompare @ModelRunId1 = 399")

Weird thing is... when I do something like...

sqlQuery(production,"exec sp_who")

I get a table of results...

Help?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

昇り龍 2024-12-27 11:18:36

我也有同样的问题。

您可以尝试

set nocount on

在 MS SQL Server 存储过程中使用:,这样它将仅返回一个数据集。

问候,

I had the same problem.

You can try using:

set nocount on

in the MS SQL Server stored procedure so it will return just a dataset.

Regards,

假装不在乎 2024-12-27 11:18:36

试试这个:

sqlQuery(production,"exec port.tdp_RISK2_ModelRunCompare @ModelRunId1 = 399", errors=FALSE)

Try this:

sqlQuery(production,"exec port.tdp_RISK2_ModelRunCompare @ModelRunId1 = 399", errors=FALSE)
傾城如夢未必闌珊 2024-12-27 11:18:36

还可以尝试写入新的数据框。当我尝试使用 sqlQuery 函数覆盖现有数据框时,我不断收到字符(0)。

Also try writing to a new data frame. I kept getting character(0) when I tried to overwrite an existing data frame with the sqlQuery function.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文