【问题标题】:U2 Universe ODBC AccessU2 Universe ODBC 访问
【发布时间】:2013-11-05 14:43:25
【问题描述】:

您好,我正在尝试使用 ODBC 连接到 Universe DB。 我已经成功地将一些数据导入到大多数表的访问中。 (我使用访问只是为了查看数据并大致了解所有内容)

由于精度错误,有一些表不会导入。

我刚开始使用这种数据库类型,所以我对这一切还很陌生。尽管我过去确实有过 AS/400 (DB2) 的经验。字典文件让我想起了一点。

无论如何,问题在于其中包含金额的字段。它工作正常,除非数量大于 999.99,然后我收到关于字段太小的错误。显然 ODBC 假设该字段的精度为 5,小数点后 2 位。我查看了字典文件,据我所知,该字段设置为 10R,转换代码为 MR2,看起来应该足够了。

我在 Universe 中的哪个位置进行设置,以便 ODBC 知道它比那个大。

感谢您的帮助。

更新::: 我在看错误的字段,字典中我需要的字段的输出格式实际上是 7R。如果这有什么不同的话。

【问题讨论】:

  • 仅供参考,您的词典条目的全部10个属性是什么?
  • 我不是 100% 确定你所说的完整 10 个属性是什么意思。但如果这就是你的意思:FieldName = I.PAY |类型和字段编号 = A 0 |字段定义 = F;0;(G1:1) |转换代码 = MR2 |列标题 = 项目付款 |输出格式 = 7R |深度和关联 = M
  • 你用什么来编辑字典条目?
  • 我在 SB2 客户端中使用 TCL

标签: odbc universe u2


【解决方案1】:

尝试将字典条目中的属性 6 设置为 DECIMAL,然后在 TCL 上运行 HS.UPDATE.FILEINFO:

>ED DICT MYFILE I.PAY
10 lines long.

----: 6
0006:
----: R DECIMAL
0006: DECIMAL
----: FI

查看Rocket's ODBC documentation(第 75-76 页)了解如何在 DECIMAL SQL 数据类型的字典条目中选择性地设置自定义精度和小数位数。

【讨论】:

  • 这给了我一个关于 MR2 转换在 Integer 类型上不起作用的错误。我终于找到了一个文档,其中列出了似乎很有帮助的字典文件属性。我担心删除转换代码会弄乱正在使用数据库的程序?
  • 我认为基本上 webthaumaturge 为我指明了正确的方向。我对更改太多持谨慎态度,因为我不是 100% 熟悉软件系统如何访问这些文件,所以我担心更改会破坏某些东西。他们提供了一个似乎可以工作的基于网络的报告工具。虽然它有点笨拙。所以我会尝试使用它。但我认为如果我添加 SQL 类型并删除转换代码,它会起作用。
  • @user2956601,如果您担心破坏现有代码,可以将字典项复制到一个新名称并更改该名称。
猜你喜欢
  • 1970-01-01
  • 2015-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多