Использование «курсор с удержанием» на .NET по отношению к SQL Server - PullRequest
2 голосов
/ 10 ноября 2011

В связи с проектом перенастройки переноса данных из DB2 на SQL Server я столкнулся с проблемой, связанной с тем, что поставщик .NET по отношению к DB2 использует курсоры (данные).

Сегодня клиент выполняет набор пакетных программ .NET для DB2 с использованием поставщика ADO.NET из Host Integration Server 2010.

Программы используют программу чтения Db2Data для перебора курсора, определенного в пакете DB2. В некоторых случаях курсор объявляется как « с удержанием », что позволяет оставить курсор открытым после фиксации в области транзакции.

Поставщик ADO.NET (System.Data.SqlClient) для SQL Server 2008 R2 не поддерживает эту функцию.

Есть ли у кого-нибудь опыт «эмулировать» желаемое поведение поставщика DB2 в отношении «курсора с удержанием».

Следует отметить, что повторное внедрение хранимых процедур с использованием курсоров T-SQL не дает желаемого эффекта, поскольку средство чтения данных ADO.NET SQL Server не может взаимодействовать с курсором T-SQL так же, как DB2 Provider и DB2 делают сегодня (по крайней мере, это наше понимание).

...