Ошибка LoaderLock при подключении к Oracle в соединении .NET OLE DB - PullRequest
0 голосов
/ 11 августа 2009

У меня есть соединение OLE DB в VB.NET, которое я пытаюсь использовать для подключения к базе данных Oracle. Тем не менее, я получаю следующую ошибку в строке con.Open ():

LoaderLock был обнаружен

Попытка управляемого выполнения внутри блокировки загрузчика ОС. Не пытайтесь запустить управляемый код внутри функции инициализации DllMain или изображения, так как это может привести к зависанию приложения.

Вот мой код:

Dim con As New OleDb.OleDbConnection

ConfigConnection()

Try
    con.ConnectionString = ConnectionString
Catch ex As Exception
    MsgBox("Invalid connection string)
    Return
End Try

Try
    con.Open()
    MsgBox("Connection attempt successfull!")
Catch ex As Exception
    MsgBox("Unable to connect to data source.")
End Try

Я использую этот же код для подключения к различным другим типам баз данных, включая SQL Server, Excel и Access. При подключении к любому из них он подключается успешно, и я не получаю эту ошибку.

Я выполняю этот код в DLL. Если я выполню его в exe, он будет работать нормально. Тем не менее, мне нужно выполнить это в этой DLL.

1 Ответ

1 голос
/ 11 августа 2009

Это предупреждение помощника отладчика, поэтому, если вы протестируете свой код и обнаружите, что он работает нормально, вам не нужно беспокоиться об этом.

Я видел подобное при вызове DirectX, но, следуя всем советам в сети, чтобы устранить ошибку, ничего не изменилось - код, который вы вызываете, по-прежнему делает то, что не должно делать. Приложив много усилий, пытаясь устранить ее, и, тем не менее, не увидев ни одной проблемы, вызванной ею, через 2 года, я поместил ее в свою корзину «Просто игнорируй это раздражающее предупреждение».

Вы можете отключить предупреждение, перейдя в Debug -> Exceptions. Нажмите кнопку «Найти» и введите LoaderLock, затем снимите флажок.

НО этот совет применим только ЕСЛИ вы тщательно протестировали свое приложение и абсолютно уверены, что приложение никогда не выходит из строя из-за LoaderLock. И тогда вы можете решить, готовы ли вы выпустить свою программу с этой потенциальной проблемой.

Возможно, кто-то еще сможет предложить лучшее решение - мне всегда немного неловко игнорировать этот тип предупреждения.

...