Я поддерживаю некоторый унаследованный классический код ASP посредством аппаратного переезда.Код запрашивает локальную базу данных Access.В старой системе соединение с базой данных было открыто следующим образом:
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='path to mdb file';"
Вместо того, чтобы уговорить старый драйвер Jet на новую систему, я надеялся просто обновить строку подключения до:
"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=path to file;"
Эта новая строка подключения разрывает любые запросы, в которых строковые значения заключены в двойные кавычки.Например, этот запрос работает со старым драйвером Microsoft.Jet.OLEDB.4.0, но ошибки с новым:
conn.Execute("UPDATE table SET field1=1 WHERE field2=""test"";")
Замена двойных кавычек одинарными кавычками исправляет отдельные запросы, т. Е. Работает с обоимидрайверов, но это будет большая работа по рефакторингу и может привести к ошибкам в доверенном коде:
conn.Execute("UPDATE table SET field1=1 WHERE field2='test';")
Я ищу способ использовать драйвер Microsoft Access (* .mdb) для использования существующих запросов (которые имеютстроки, заключенные в двойные кавычки) без рефакторинга.Заранее спасибо.