开发者社区> 问答> 正文

将 R 数据帧推送到 SQL 作为新表

将 R 数据帧推送到 SQL 作为新表

展开
收起
贺贺_ 2019-12-02 23:16:39 458 0
1 条回答
写回答
取消 提交回答
  • 我尝试从服务器创建一个表,其中包含仅在本地存在此代码的信息:

    ```{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)```
    
    2019-12-02 23:17:54
    赞同 展开评论 打赏
问答分类:
SQL
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载