sql-server - MongoDb ODBC 驱动程序 -> SQL Server 链接服务器查询失败
问题描述
我安装了 MongoDb 3.4 并尝试从 SQL Server 2019 dev 获取其数据。使用链接服务器的版本。
我设法为 BI 2.13 安装了 MongoDb ODBC 驱动程序和 MongoDB 连接器,并将其连接到 SQL Server。
链接服务器的查询通过 openquery 可以正常工作,如下所示:
select *
from openquery([MONGOtst], 'select active,created_at,city,CAST(total_xp AS integer) from content.users' )
问题是:
为什么当我尝试这个时它会失败
select active, created_at, city, xp, status, last_action_at, cast(total_xp AS integer) from MONGOtst.content.users
用味精:
无效的对象名称“MONGOtst.content.users”
我尝试了不同的方法
MONGOtst...users
,等等MONGOtst..users
,MONGOtst..content.users
但都失败了total_xp
在上一个 查询不能按原样在查询中使用(可能是原样BSON.Decimal128
)与 msg链接服务器“MONGOtst”的 OLE DB 提供程序“MSDASQL”为列“total_xp”提供了无效的元数据。精度超过了允许的最大值。
而且我没有找到任何选项来限制
BSON.Decimal128
驱动程序选项中的数字精度,例如 ex。VARCHAR:-- maxVarcharLength 8000
解决方案
- 它有效:
select * from MONGOtst...users
在执行从另一个主题复制的步骤后:
在这里找到了答案。现在我可以进行三点符号查询了。谢谢
http://www.sparkalyn.com/2008/12/invalid-schema-error/
转到提供程序选项屏幕 在 SQL Server 中,您可以在链接服务器上方的文件夹中看到提供程序列表(假设您具有适当的权限)。右键单击 MSDASQL 并转到属性。在 SQL Server 中,提供程序选项按钮位于创建链接服务器的对话框中。选中“仅零级”复选框</p>
- 更新字段描述'十进制'->'float64'后也可以工作
推荐阅读
- laravel - Jetstream 安装失败:无法解析为可安装的软件包集
- python - 未能部署 Heroku 应用程序。错误:命令出错,退出状态为 1:/app/.heroku/python/bin/python -u -c 'import sys, setuptools, tokenize;
- python - python中列表字典的概率
- regex - 如果我尝试将它与 $1、$2 等反向引用一起使用,则字符串在 RewriteRule 中重复 20 次。诡异的。为什么?
- vba - VBA:为什么 For Each 循环比 For 循环快?
- c++ - 2D 矢量调整大小需要对象的默认构造函数
- excel - 获取 Gmail 中收件箱邮件的链接
- reactjs - 是否反应原生模板支持而不使用像反应 js 那样的打字稿?
- python - 如何在不使用 PyInputPlus 的情况下将计时器添加到 Python 循环(无异步或线程)
- javascript - xpath - 单击所有按钮