我尝试从服务器创建一个表,其中包含仅在本地存在此代码的信息:
```{sql, connection = con}
SELECT * INTO [DB].[dbo].[New_Table]
FROM ?Data```
此时,我更改了方法,并尝试使用 r 代码推送数据帧:
```{r}
dbWriteTable(con, "[DB].[dbo].[New_Table]", Data)```
结果是以下错误: nanodbc/nanodbc.cpp:1587:42000: [微软]SQL服务器本机客户端10.0][SQL Server]创建在数据库"主"中被拒绝的TABLE权限。 此处的问题:我试图访问我拥有权限使用的数据库。函数理解此参数就像表的纯名称一样,因此必须找到一种方法来指定数据库的正确路径。
"[DB].[dbo].[New_Table]"dbWriteTable
我没有找到直接使用代码来做到这一点的方法。解决方案:我去了 (Windows APP);并更改了连接的配置。我的连接是将主数据库作为默认数据库。我更改了它,为数据库我的权限。现在,我使用以下代码从 R 笔记本推送表:
"ODBC Data Sources (32-bit)"
```{r}
dbWriteTable(con, "[R_Test2]", Data, overwrite = T)```
它非常适合我需要的。 如果有人知道如何使用代码指定此路径,最好知道。也许在第一个配置区块中:
```{r setup, include=FALSE}
library(odbc)
library(DBI)
con <- dbConnect(odbc::odbc(), "Enterprise", timeout = 10)```
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。