【问题标题】:ORA-28500: [ODBC Driver 11 for SQL Server]: Attempt to access a column "UtilizaMetrica_DescontoComerci" {42S22,NativeErr = 207} - Column +30 characterORA-28500: [ODBC Driver 11 for SQL Server]: 尝试访问列“UtilizaMetrica_DescontoComerci”{42S22,NativeErr = 207} - 列 +30 个字符
【发布时间】:2019-06-01 01:04:39
【问题描述】:

我从 Oracle 配置异构服务以使用 Microsoft 的 ODBC 驱动器访问 SQL Server

它可以工作,但特定表中的某些查询会返回正确的消息,例如:

ORA-28500:从 ORACLE 到非 Oracle 系统的连接返回以下消息: [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]尝试访问列“UtilizaMetrica_DescontoComerci”。 {42S22,NativeErr = 207}[Microsoft][ODBC Driver 11 for SQL Server][SQL Server]

右列'UtilizaMetrica_DescontoComercial'有32个字符,但在返回消息中截断为30个字符

【问题讨论】:

  • @OldProgrammer 我不明白你的意思,这个链接甚至与我的问题无关。
  • 您使用的是哪个版本的 SQL Server?
  • @GMB SELECT @@VERSION = Microsoft SQL Server 2016 (SP2-GDR) (KB4293802) - 13.0.5081.1 (X64)
  • 列名UtilizaMetrica_DescontoComerci,长度为30个字符。

标签: sql-server oracle oracle11g heterogeneous-services


【解决方案1】:

似乎OHS has a limitation 在列名的长度上(30 个字符)。

解决方法是通过为该列定义更短的别名或使用视图来执行相同的操作,将名称缩短到可接受的长度。

【讨论】:

  • UtilizaMetrica_DescontoComerci 长度为 30 个字符。
  • @BobJarvis OP 已经写到列名是 31 个字符。我们是否应该猜测错误消息已经截断了名称,因为 - 你知道 - 它不支持更长的名称?
  • 我只是在强调不一致之处。我希望OP发表澄清。我要指出的是,在葡萄牙语中,“Utiliza métrica desconto coercial”这句话的意思是“使用商业折扣指标”(根据谷歌翻译),所以问题是“消息是丢了两个字符,还是只丢了一个?”。
  • 你的权利@Bob Jarvis,我在想是否还有其他事情可以做或必须像 SMor 所说的那样,重命名列或使用视图
  • 正确的名字是UtilizaMetrica_DescontoComercial错误不显示最后两个al
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-09-03
  • 2016-09-30
  • 1970-01-01
  • 1970-01-01
  • 2017-11-30
  • 2016-11-24
  • 1970-01-01
相关资源
最近更新 更多