sql-server - “在 ODBC = ServiceNow 连接上不支持请求的转换错误
问题描述
我们使用 SQL Server 2014 通过 ODBC 连接连接到 ServiceNow 实例:
SELECT * FROM (ServiceNow, 'select * from Schema.Table')
连接本身工作正常。但是,在运行实际查询时,我们经常会收到以下错误:
链接服务器“servicenow2”的 OLE DB 提供程序“MSDASQL”返回消息“不支持请求的转换。”。
这显然与 SQL Server 不喜欢 serviceNow 返回的字符串列有关。
我们尝试过的:
- 在 SQL 链接服务器属性中:将 COLLATION COMPATIBLE 值设置为 TRUE(没有更改任何内容)。
- 转换查询(
CAST AS CHAR
或RTRIM
)中的每个/每个文本列。这确实有效。但是,我们需要分析数据仓库中的数千个表和列,并且预先导出列列表并强制转换每一列是非常繁琐的。 - 搜索 ODBC 管理控制台服务设置。没有用于指定任何类别中的最大列长度的属性。
- 本文表明您可以在 ODBC 属性中更改默认的“字符串列长度”,但我在 ODBC 设置中的任何地方都找不到该设置。这就是我所看到的:
还有其他想法吗?
解决方案
推荐阅读
- python - 查找数据框 PANDAS 中每个日期的最新日期时间
- android - 不一致的 Android SQLite 寄存器
- python - 将“CSV”转换为“数组”,然后在 Python 中转换为“图像”?
- python - GitLab 中 feed_token 用于原子提要的目的
- excel - 如何修复 VBA Find 方法的“下标超出范围”错误?
- json - 空手道 - 比较 json 对象时出错
- python - 无法将 Rasa 机器人与 Flask 集成
- docker - 在 Windows 中使用 Docker Compose 挂载主机目录
- highcharts - 如何将阴影添加到 highchart 条
- javascript - 如何在 react-redux 中更改初始状态