如何访问 R 中的嵌套 SQL 表?

2023-12-02

来自 R Studio 的ODBC 数据库文档我可以看到一个如何将 SQL 表读入 R 数据框的简单示例:

data <- dbReadTable(con, "flights")

让我粘贴一个图形BGBUreftable(?) 我正在尝试读取 R 数据帧。这是来自我在 R studio 中的连接窗格。

nested table

如果我使用与上面相同的语法,其中con是我的输出dbConnect(...)我得到以下信息:

df <- dbReadTable(con, "BGBURef")
#> Error: <SQL> 'SELECT * FROM "BGBURef"' nanodbc/nanodbc.cpp:1587: 42S02: 
#> [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Invalid object name
#> 'BGBURef'.

我对“表”的理解是否不正确?或者我需要做这样的事情才能进入嵌套的BGBUref table:

df <- dbReadTable(con, "QnRStore\dbo\BGBURef")
#> Error: '\d' is an unrecognized escape in character string starting ""QnRStore\d"

The BGBUref如果我单击小电子表格图标,数据框将出现在 R Studio 中。就我而言,我只是不知道如何将其放入定义的数据框中df.


这是我运行这些命令时的输出:

df <- dbReadTable(con, "QnRStore")
#> Error: <SQL> 'SELECT * FROM "QnRStore"'
#> nanodbc/nanodbc.cpp:1587: 42S02: [Microsoft][ODBC Driver 17 for SQL 
#> Server][SQL Server]Invalid object name 'QnRStore'. 

and:

dbListTables(con)
#>  [1] "spt_fallback_db"                                         
#>  [2] "spt_fallback_dev"                                        
#>  [3] "spt_fallback_usg"                                        
#>  [4] "spt_monitor"                                             
#>  [5] "trace_xe_action_map"                                     
#>  [6] "trace_xe_event_map"                                      
#>  [7] "spt_values"                                              
#>  [8] "CHECK_CONSTRAINTS"                                       
#>  [9] "COLUMN_DOMAIN_USAGE"                                     
#> [10] "COLUMN_PRIVILEGES" 
#> ...
#> [650] "xml_schema_types"                                        
#> [651] "xml_schema_wildcard_namespaces"                          
#> [652] "xml_schema_wildcards"

一般背景

首先,考虑阅读关系数据库架构,其中表封装在模式中,模式本身封装在数据库中,然后封装在服务器或集群中。请注意图像中的图标对应于对象类型:

cluster/server < catalog/database < schema/namespace < table

因此,您的情况没有嵌套表,而是典型的架构:

myserver < QnRStore < dbo < BGBURef

要在 SQL 查询中从服务器级别访问此架构,您可以使用句点限定名称:

SELECT * FROM database.schema.table

SELECT * FROM QnRStore.dbo.BGBURef

SQL Server 的默认架构是dbo(与 Postgres 相比,它是public)。通常,像 R 这样的 DB-APIodbc连接到一个数据库,该数据库允许连接到任何底层模式和相应的表,假设连接的用户有权访问此类模式。请注意,此规则不可普遍适用。例如,Oracle 的模式与所有者一致,而 MySQL 的数据库与模式同义。

请参阅进一步阅读:

  • 架构、表和数据库之间有什么区别?
  • 使用不同数据库的数据库和架构之间的差异?
  • 数据库和模式之间的区别
  • 关系数据库中的目录和模式有什么区别?
  • 数据库模式与数据库表空间?

具体案例

因此,要连接到默认架构中的 SQL Server 数据库表,只需引用该表,BGBURef,假设该表位于dbo连接数据库的架构。

df <- dbReadTable(con, "BGBURef")

如果您使用非默认架构,则需要相应地指定它,最近您可以使用DBI::Id并可以类似地使用它dbReadTable and dbWriteTable:

s <- Id(schema = "myschema", table = "mytable")

df <- dbReadTable(con, s)

dbWriteTable(conn, s, mydataframe)

或者,您可以运行所需的时间段限定 SQL 查询:

df <- dbGetQuery(con, "SELECT * FROM [myschema].[mytable]")

你可以使用SQL()用于写入持久表:

dbWriteTable(con, SQL("myschema.mytable"), mydataframe)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何访问 R 中的嵌套 SQL 表? 的相关文章

  • Linux 上的 Pervasive ODBC 错误 [01000][unixODBC][驱动程序管理器]无法打开 lib '/usr/local/psql/lib/odbcci.so':找不到文件

    我正在尝试让 Pervasive v10 客户端 ODBC 在 Centos 6 上运行 据我所知 没有 64 位 ODBC 客户端 因此我必须使用 32 位客户端 我终于成功安装了它 但尝试使用时出现以下错误 isql v mydsn 0
  • 插入后,数据库中仅插入“字符串”的一个字符

    Below is my table screenshot Data after insertion C 代码 SqlConnection con new SqlConnection connectionsession Con con Ope
  • R闪亮数据表在开始时不显示记录(行)

    我正在构建一个带有数据表的闪亮应用程序 我想要的是启动时不显示任何记录 行 这样您只能看到表格顶部的过滤器 当您开始输入时 会显示行 我在数据表中找不到选项 这可能吗 下面是示例代码 shinyApp ui navbarPage title
  • 使用包含和不包含的 Linq 查询

    我正在尝试从数据库中获取记录 它应该 getrecords 其中名称包含 searchKey 并且名称不在 exceptTerms 数组中 并以逗号分隔 我怎样才能在 Linq 中做到这一点 Rows from u in DB Client
  • 长变量名在 dplyr 中失败

    长度超过 39 个字符的字符串在 dplyr 中失败 返回错误 错误 索引超出范围 我错过了什么还是这是一个错误 40 个字符不起作用 library dplyr names iris 5 lt vvv 5vvv10vvv15vvv20vv
  • 有没有办法在 RStudio 中调试 RScript 调用?

    假设我从命令行运行 R 脚本 如下所示 Rscript prog R x y z 我想检查某一行的代码 目前 我无法在 RStudio 中以交互方式调试它 因为我不知道如何传递参数 由于它设计为从命令行运行 因此如何通过命令行 RStudi
  • 将summary()写入as.data.frame以在ggplot / R中使用

    请查找 af 数据样本t below 我正在使用以下方法进行竞争风险分析etmCIF来自etm package 产生以下结果 这很好 但需要更好的图形 曾经有一个ggtrans etm函数将数据导入ggplot 然而 这个功能显然被删除了
  • SQL Server:从 OPENDATASOURCE 中删除

    这有效 SELECT FROM OPENDATASOURCE Microsoft ACE OLEDB 12 0 Data Source d JobFiles MyFile xlsx Extended properties Excel 8 0
  • 删除 IF ELSE 语句中的临时表

    我在这里面临僵局 问题是我必须更改使用 3 个不同临时表的过程 为了便于对话 让我们将它们命名为 temptable1 temptable2 temptable3 我无法在这里复制 粘贴整个过程 但总体思路是这样的 原始过程 procedu
  • 如何在实体框架中完全锁定一行

    我正在处理的情况是我们正在处理金钱交易 例如 我有一个用户钱包表 其余额位于该行 UserId Wallet Id Balance 现在 在我们的网站和网络服务中 每次发生特定交易时 我们都需要 检查是否有足够的资金可用于执行该交易 从余额
  • 将 JSON URL 转换为 R 数据帧

    我在将 JSON 文件 从 API 转换为 R 中的数据帧时遇到问题 例如 URL 我尝试了 S O 的一些不同建议 包括将json数据转换为R中的数据框 https stackoverflow com questions 28683769
  • 使用底格里斯河从纬度/经度获取人口普查区

    我有相对较多的坐标 我想获取其人口普查区 除了 FIPS 代码 我知道我可以使用以下命令查找各个纬度 经度对call geolocator latlon 已完成here https stackoverflow com questions 5
  • 数据库未在客户端系统上运行的 C# Windows 窗体应用程序

    我用 C 开发了一个使用 SQL Server 数据库连接的 Windows 窗体应用程序 我在 NET Framework 4 0 和 SQL Server 2008 R2 中开发它 我的应用程序正在使用应用程序根目录中存在的本地数据库
  • 在c#中创建sql连接

    我是这个网站的新手 也是编程的新手 我目前正在通过销售点创建库存系统 它使用模态和非模态形式 我的问题是 我正在研究change password对话框必须连接到数据库才能覆盖密码字段 我使用的数据库是Microsoft SQL Serve
  • 在函数内部调用 clusterApply 时,性能会下降

    我遇到了一个奇怪的问题clusterApply 我已经能够尽可能地隔离它 如下所示 首先 我从全局环境运行以下代码 require parallel cl lt makeCluster rep localhost 20 SOCK xl lt
  • 如何更新条件公式?

    让我直接进入示例 考虑以下等式 frml lt formula y a b x z 使用这样的公式规范 例如和AER ivreg 我想更新这个公式 使其显示为 frml2 lt y a b c x z w 但是 我不确定如何更新条件标志之前
  • 限制数据框中所有单元格的字符串长度?

    您好 有没有一种方法可以限制 data frame 中所有列的字符串文本大小 而不必循环遍历每一列并一次使用 str trunc 之类的东西 例如下面的数据框 我可以将所有文本大小限制为仅 5 个字符 而不必一次只执行一列吗 如果有 50
  • SQL返回两行之间的秒差

    这个问题与SQL Server有关 我有下表 id size batch code product code additiontime 1 91 55555 BigD Red 2017 05 15 13 00 00 2 91 55555 B
  • R.matlab/readMat:readTag(this) 中出错

    我正在尝试使用 R matlab 将 matlab 文件读入 R 但遇到此错误 require R matlab r lt readMat file mat verbose T Trying to read MAT v5 file stre
  • 在另一个 Rmd 中运行选定的块

    我已经在源 Rmd 文件中运行了分析 并且希望仅使用few来自源的块 我已经看到了一些关于从源 Rmd 中提取所有块的答案来自另一个 Rmd 中的 Rmd 文件的源代码 https stackoverflow com questions 4

随机推荐

  • SQL - 从一组结果中选择唯一的行

    我为这个问题绞尽脑汁已经有一段时间了 我还审查了其他问题 但没有成功 我遇到的问题是 我有一个结果 表列表 其中包含多行和列 注册 ID 日期 单位类型 005DTHGP 172 172 2007 09 11 生物酶 005DTHGP 19
  • 最小化 Java 函数调用开销

    I have 一段代码在我运行的每个测试中 函数调用都会产生大量开销 该代码是一个紧密循环 对数组 包含 4 800 万个元素 的每个元素执行一个非常简单的函数ints 运行代码 主要包括 for int y 1 y lt h y for
  • 使用 meshgrid 将 X,Y,Z 三元组转换为三个二维数组,用于 matplotlib 中的曲面图

    我是 Python 新手 所以请耐心等待 我很感激任何帮助 我拥有的 三个一维列表 xr yr zr 一个包含 x 值 另外两个包含 y 和 z 值 我想做的事 在 matplotlib 中创建 3D 等高线图 我意识到我需要使用以下方法将
  • 使用 ClickOnce 应用程序部署 COM 组件

    我们正在开发一个需要屏幕 录制 的 C WPF Net 4 0 应用程序 我们评估了 ByteScout屏幕截图SDK 提供免费试用 它完全满足我们的需要 然而 问题是我们的应用程序设计为由 ClickOnce 部署到我们客户的计算机 不在
  • 将 JSON 日期发送到 WCF 服务

    我想将 json 对象发布到我的 WCF 服务 我唯一的问题是他的日期属性 我从 jquery datepicker 获取日期 我想将其作为 c datetime 获取到我的服务中 我的服务 namespace Employee Servi
  • 如何向 TextChoices 添加额外数据?

    我如何添加额外的数据django db models TextChoices class Fruit models TextChoices APPLE myvalue True mylabel 这样 gt gt gt Fruit APPLE
  • YouTube 数据 API v3、Web 应用程序、403 使用限制访问未配置

    我在尝试访问 YouTube Data API v3 时遇到问题 这是每当我发送有效请求时收到的 json 响应 error errors domain usageLimits reason accessNotConfigured mess
  • 在列表中添加奇数

    我试图找到给定范围内所有奇数的总和 但我不知道如何指定哪些数字是奇数 我的教授说使用 for num in Numbers 来访问范围内的元素 这是我到目前为止所拥有的 numbers range 0 10 def addOddNumber
  • Mozilla WebApp Manifest 要求提供 HTTP 标头

    我已经搜索了几个小时 但找不到解决方案 目前我想将第一个 Web 应用程序上传到 Mozillas 新平台 第二步是添加清单文件 我从以下位置获取信息here并尝试使用名称manifest webapp构建清单但结果是以下消息 Your m
  • Flutter IOS FCM 推送通知未进入通知栏

    我是 Flutter 和 IOS 的新手 我正在为 Android 和 IOS 配置 FCM 推送通知 对于 android 它工作正常 我已经通过引用此链接完成了https medium com jun chenying flutter
  • 为什么缺少/未声明 MonitorFromWindow? (C++/WINAPI)

    我正在尝试 Windows API 但遇到了很多问题 最近的是这样的 我包含了 Windows h 并暂时包含了 Winuser h 但缺少 MonitorFromWindow 以及相关字段 如 MONITOR DEFAULTTONEARE
  • 将二进制数据转换为可打印的十六进制数据

    In this有人评论说以下代码只能在 玩具 项目中使用 不幸的是 他没有回来说明为什么它不符合生产质量 所以我希望社区中的某个人能够向我保证代码没问题 因为我非常喜欢它 或找出问题所在 template lt class T1 class
  • meshgrid 和 ndgrid 之间的实际区别?

    这个讨论越来越激烈here关于 pageIdx 与ndgrid 我现在能明白了meshgrid但不是ndgrid 请用实际例子详细说明可以使用的地方 它实际上不一样meshgrid 值中有一些奇怪的反转 那么它应该用在哪里 假设您想知道数组
  • 在 Chrome Devtools 中看不到本地存储键值对

    我有一个 json 文件 用于存储使用 javascript 在我的页面上显示的数据 此 json 文件及其键值对在 Chrome 的开发工具中不可见或不可访问 该组件管理 json 文件 Takes a filename and a JS
  • 使用 Jquery Mobile 进行 XML 解析

    我有以下格式的 XML 我想提取 标题 和 子菜单 标签 并从中创建一个菜单栏结构 如下图所示
  • 如何处理龙卷风中的帕尔斯指令?

    我是龙卷风框架的新手 当我打开网址时torchado web RequestHandler 需要处理 parms 的字典 请看下面的代码 class MainHandler tornado web RequestHandler def ge
  • 使用 log4j2 的多个线程的不同日志文件

    我正在运行一个 Java 应用程序 其中调用多个线程 每个线程都有一些唯一的名称 现在我想为每个日志文件创建多个日志文件 日志文件的名称应该与线程名称相同 使用 log4j2 可以吗 请帮我写log4j2配置文件 先感谢您 我同意 Rout
  • 用户提交的 HTML 带来的安全风险

    我正在使用 contentEditable div 它允许用户编辑正文 HTML 然后使用 AJAX 请求将其直接发布到网站 当然 我还要对其进行一些安全检查 最明显的是通过搜索确保没有提交任何脚本标签
  • 如何修复 Eclipse/Android 安装?图形 XML 编辑器中的 PNG 加载问题

    很长一段时间以来 我的带有 Android 插件的 Eclipse 环境都运行顺利 在软件更新过程中应用的更新的某个地方 它崩溃了 开始发生的第一个问题是在运行布局文件的 Android 插件图形编辑器时丢失 按钮 Form Widget
  • 如何访问 R 中的嵌套 SQL 表?

    来自 R Studio 的ODBC 数据库文档我可以看到一个如何将 SQL 表读入 R 数据框的简单示例 data lt dbReadTable con flights 让我粘贴一个图形BGBUreftable 我正在尝试读取 R 数据帧