2010-09-24 55 views
1

我有一箇舊應用程序需要運行。現在它使用一些無效的SQL。它使用ODBC連接到數據庫。我只想填充ODBC,以便我可以觀察無效的SQL並用一些有效的命令替換它。ODBC鉤子/墊片

任何想法?

MySQL代理將適合賬單,如果它會飛過ODBC。

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

+0

編程語言?請標記。 – Elemental 2010-09-25 06:52:56

+0

@Elemental - 我喜歡C#...但是,任何語言都會給我一種解決方法。 – NitroxDM 2010-09-25 19:28:39

回答

0

最簡單方法是自己寫一個墊片,並有繼承應用程序加載墊片,然後代理所有ODBC函數調用除了SQLPrepare的和SQLExecDirect的原來的ODBC驅動程序。然後你可以修改通過這兩個函數傳入的任何相關的SQL查詢。所有其他函數都通過參數不變。

您需要在HKLM \ SOFTWARE \ ODBC \ ODBCINST.INI(適用於驅動程序)和ODBC.INI(適用於DSN)的註冊表中(如果在Windows上)將您的墊片作爲ODBC驅動程序「安裝」 。然後,您可以將舊應用程序指向您的墊片,它將動態加載原始驅動程序。