【问题标题】:Type mismatch in classic ASP after upgrade to MySQL 5升级到 MySQL 5 后经典 ASP 中的类型不匹配
【发布时间】:2014-06-25 17:30:24
【问题描述】:

在为客户升级站点到使用 MySQL 5 而不是 MySQL 4 的新服务器时,我在迁移数据库时遇到了一系列常见问题,其中一些问题只是让 mysql 抱怨 SQL 转储(那些是最简单的修复)而其他人需要对 ASP 代码进行一些更改。就像使用逗号而不是 JOINs 在 MySQL 5 中并不总是可行的。

一个问题更烦人。在 MySQL 5 中,大多数处理比较的 ASP 语句现在都以Type Mismatch 失败,例如:

IF RS("myfield") > 5 THEN

如果 SQL 查询涉及SUMs,尤其会发生这种情况。它适用于 MySQL 4。

修复并不难:对于查询,CASTSIGNED 修复它,对于比较语句本身,使用 Cint 可以解决问题。

但问题是,该站点很大,包含数百个单独的 ASP 文件(代码非常糟糕!),几乎不可能在所有这些 Type Mismatch 错误出现之前找到它们。

所以我的问题是:

有没有更通用的方法来解决这个问题?我想到了 ODDC 驱动程序或 MySQL 本身等中的设置。

【问题讨论】:

    标签: mysql asp-classic mysql5 mysql4


    【解决方案1】:

    在数据库中而不是在 asp 代码中进行更改可能是一种可行的方法。这样您就不必更改那么多网页。问题是这些字段是否可以根据您的需要进行更改?

    您是否也更改了数据库类型? InnoDB 或 MyISAM,这也可能改变字段的处理方式?

    【讨论】:

    • 无法更改字段,因为这可能会破坏代码的其他部分。但是我现在已经纠正了这些错误,因为它们出现了,而且已经有一段时间没有了。数据库类型未更改。
    猜你喜欢
    • 1970-01-01
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-17
    • 1970-01-01
    • 2020-09-11
    • 2011-10-09
    相关资源
    最近更新 更多