CLR не удалось перейти из контекста COM 0x3a29680 в контекст COM 0x3a297f0 в течение 60 секунд - PullRequest
0 голосов
/ 23 октября 2019

В этом случае я хочу выбрать данные из таблиц оракула, затем удалить данные из таблиц SQL и затем вставить данные из таблиц оракула в таблицы SQL. Для выбора я не использую транзакции. Для удаления и вставки я использую транзакцию для таблиц SQL. запуск транзакции в начале обеих команд удаления и после выполнения обоих операторов вставки инициирует транзакцию фиксации.

Я работаю в Visual Studio 2010 и SQL Server 2008 R2. Попытался установить режим отладки на любой процессор, но не сработал.

transactionSQL = conSql.BeginTransaction

strSqldelAr = "delete from ar_remark_tab "

            Dim cmdSqlDelAr As SqlCommand = New SqlCommand(strSqldelAr, conSql, transactionSQL)
            Dim classidAr As Long
            classidAr = Convert.ToInt64(cmdSqlDelAr.ExecuteNonQuery())
            cmdSqlDelAr.Parameters.Clear()

еще один синтаксис удаления, подобный этому, с изменением имени таблицы.

теперь вставьте в таблицу один оператор

For iRow As Integer = 0 To count - 1

strQL = strQL & " insert into ACCRCV_OUTST_TAB( aot_div, aot_loc,...")

strQL = strQL & " values ("

strQL = strQL & IIf(dsOra.Tables(0).Rows(iRow)
("Aot_cust_po_dt").Equals(DBNull.Value), "'" & DBNull.Value.ToString & "'", "'" & dsOra.Tables(0).Rows(iRow)("Aot_cust_po_dt") & "'") & ")"

Dim cmdSQL As SqlCommand = New SqlCommand(strQL, conSql, transactionSQL)
Dim classidInsert As Long
classidInsert = Convert.ToInt64(cmdSQL.ExecuteNonQuery())
                        cmdSQL.Parameters.Clear()

Next

еще один оператор вставки, как указано выше, а затем

 If transactionSQL.Connection IsNot Nothing Then
                    transactionSQL.Commit()
                End If

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

Когда я пытался протестировать с одной записью, он успешно работал без каких-либо ошибок, но когда япробовал тестировать около 3000 записей, получил это сообщение. Снятие галочки с MDA не решит проблему согласно моему пониманию. Следовательно, дайте знать решение по тому же.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...