代码之家  ›  专栏  ›  技术社区  ›  NitroxDM

ODBC挂钩/垫片

  •  1
  • NitroxDM  · 技术社区  · 16 年前

    我有一个旧的应用程序,我需要运行。现在它使用了一些无效的SQL。它使用ODBC连接到数据库。我只想填充ODBC,这样我就可以监视无效的SQL并用一些有效的命令替换它。

    有什么想法吗?

    如果MySQL代理可以通过ODBC来运行,那么它就符合要求了。

    http://dev.mysql.com/downloads/mysql-proxy/

    1 回复  |  直到 15 年前
        1
  •  0
  •   KylePorter    10 年前

    最简单的方法是自己编写一个shim,让遗留应用程序加载shim,然后将除SQLPrepare和SQLExecDirect之外的所有ODBC函数调用代理到原始ODBC驱动程序。然后可以更改通过这两个函数传入的任何相关SQL查询。所有其他函数传递参数时保持不变。

    您需要在注册表中的HKLM\SOFTWARE\ODBC\ODBCINST.INI(用于驱动程序)和ODBC.INI(用于DSN)下“安装”作为ODBC驱动程序的填充程序。然后可以将旧应用指向shim,shim将动态加载原始驱动程序。