sql - Sql 宽度的进度 ODBC 问题(DBTool?)

标签 sql progress-4gl openedge

我的任务是从第三方进度数据库中获取一些数据。问题是,某些表报告错误“表 <column> 中的列 <table> 的值超过其最大长度或精度 (7864)”。

一些谷歌搜索提出这是数据库上 SQL 宽度的问题,运行 DBTool 可以解决这个问题。 http://progress.atgnow.com/esprogress/jsp/AnswerControls.jsp?directSolutionLink=1&tabs=true&docPropValue=p24496

问题是管理进度数据库的第三方不想知道——他们说这可能会损坏数据库。由于我对任何事情都不太了解(尤其是 Progress),因此我无法反驳他们的论点。

问题:

  • 他们是否有一个有效的论据反对
    没有运行这个工具?
  • 如果他们
    保持他们的位置,我有吗
    我还有其他选择吗?请记住,我不知道关于 Progress 的第一件事。
  • 最佳答案

    你的第三者是无知的。 DBTool 是处理此问题的标准方法,并且正是为此目的而提供的。运行 dbtool 非常普遍,通常会自动偶尔运行(每月一次一般都不错)。

    他们可能会将它与“dbrpr”混淆。它可以重新格式化块和其他有趣的东西,如果使用不当,肯定会给你带来麻烦。

    无论是否与他们合作,您几乎都可以自己运行它。您只需要 dba 用户 ID 和密码。我可能是错的,但 98% 的 dba 用户 ID 是“sysprogress”,并且很可能在 ODBC 连接中使用。如果您一直在设置这些密码,您可能知道密码(或者可以轻松获取)。

    (如果他们不运行 dbtool,那么他们可能也没有运行 UPDATE STATISTICS 这可能意味着性能真的很糟糕。Progress SQL 引擎使用基于成本的优化器,如果没有一些统计数据来提供它,它不会做得很好干得好。但这是另一个问题的素材。)

    关于sql - Sql 宽度的进度 ODBC 问题(DBTool?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6193275/

    相关文章:

    php - MYSQL如果某个字段返回0则选择另一个查询并连接

    sql - SQL 中 WHERE 和 HAVING 的区别

    openedge - 如何在每个循环中导出文本文件?

    mysql - 1265 : Data truncated for column 'envio' at row 1

    mysql - SQL 表锁定竞争条件 - SELECT 然后 INSERT

    excel - 使用 sax writer 在 xml 2003 工作簿中创建换行符

    c - 从 C SL 函数将值返回到 Progress 4GL

    progress-4gl - 在逗号分隔的项目进度列表上运行循环 4GL

    progress-4gl - 通过使用任一属性排序来显示进度记录