[ADO.NET] Логи sql запросов. Подстановка параметров в DbCommand

agaaaa

Исходная задача - сохранить лог всех запросов к БД, отправляемых приложением. В приложении интенсивно используется DataAdapter и параметризованные команды.
Частный вопрос пока стоит так.
Есть объект DbCommand, в команде есть параметры. Как получить текст sql-запроса, который будет для неё сгенерирован?

sun1508

Как получить текст sql-запроса, который будет для неё сгенерирован?
это будет очень не просто,... забей займись сёрфингом!

pitrik2

это вроде во всех языках так
думаю что ответ: никак
я для логов отдельную строку формирую

6yrop

думаю что ответ: никак
через ADO.NET возможно и нельзя, но SQL Server Profiler это делает.

evgen5555

Да он стопудово хочет блобы тридцатигиговые логать =)

Dasar

> Исходная задача - сохранить лог всех запросов к БД, отправляемых приложением.
почему эта задача решается на стороне приложения, а не на стороне базы?
> Есть объект DbCommand, в команде есть параметры. Как получить текст sql-запроса, который будет для неё сгенерирован?
для произвольного DBCommand - никак, потому что конкретный DbCommand вообще может никакого sql-я не генерить.
ps
afaik, вроде как раз oledb-провайдер поддерживает параметризованные параметры напрямую и соответственно никакие запросы не генерит.
нативные провайдеры опять же обычно никакой генерации не делают.

agaaaa

> почему эта задача решается на стороне приложения, а не на стороне базы?
Потому что не я это решаю.
Провайдер оракловский.

Dasar

microsoft-овский, или Odp.net-ный?

Dasar

> Провайдер оракловский.
кстати оракловый провайдер тоже не расскрывает параметры, а напрямую их передает базе.

agaaaa

из System.Data.OracleClient
Оставить комментарий
Имя или ник:
Комментарий: