Я написал пакет Java, который подключается к базе данных SQL Server с использованием JDBC и интегрированной безопасности. Этот пакет работает так же, как и на моей Java IDE. Теперь я пытаюсь получить доступ к некоторым классам в этом пакете из отдельного приложения .NET с помощью IKVM.Подключение к SQL Server в .NET/IKVM с использованием JDBC
Однако теперь я получаю ExceptionInInitializerError в приложении .NET, а трассировка стека показывает, что эта ошибка возникает во время инициализации соединения с базой данных.
Я создал файл app.config для приложения .NET, чтобы добавить драйвер JDBC в путь к библиотеке Java с помощью:
<add key="ikvm:java.library.path" value="C:\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\enu\auth\x64"/>
Я попытался изменения \ x64 \ x86 к (с использованием 32-битного auth dll, а не 64-бит), и я получил ту же самую ошибку, которая, как я думал, была нечетной. Затем я удалил эту строку из app.config и получил предупреждение «Не удалось загрузить sqljdbc_auth.dll» с «Этот драйвер не настроен для интегрированной проверки подлинности». SQLServerException.
Я мигрировали код подключения к базе данных через в VB.NET/IKVM и воссоздал оригинальную ошибку, используя эти четыре строки:
Dim connectionUrl As String = "jdbc:sqlserver://db\instance;integratedsecurity=true"
Dim driver As String = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
java.sql.DriverManager.registerDriver(New com.microsoft.sqlserver.jdbc.SQLServerDriver())
Dim dbConn As java.sql.Connection = java.sql.DriverManager.getConnection(connectionUrl)
Таким образом, я уверен, что, если я могу получить эти четыре строки работа, моя проблема должна быть решена. У кого-нибудь есть идеи? Заранее спасибо!
Какая ошибка и stacktrace происходят? – Horcrux7