Работа с БД в Addin. Ошибка при подключении

Автор Тема: Работа с БД в Addin. Ошибка при подключении  (Прочитано 3145 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн fedorАвтор темы

  • ADN OPEN
  • Сообщений: 33
  • Карма: 0
Доброго времени суток!
Подскажите пожалуйста, сталкивался ли кто с подобным!

Описание проблемы:Хочу перевести форму из отдельного приложения, в addin. Приложение, при работе запуске, обращается к БД (Access) и в процессе работы, обращается к ней. При этом, никаких проблем с полдключением и обращением к БД за период использования не возникало.
Теперь, Готовое и рабочее приложение, хочу переместить в надстройку инвентора. НО, при попытке открытия БД, ругается на ошибку и инвентор вылетает(

Код - vb.net [Выбрать]
  1. Imports System.Data.OleDb
  2. Imports System.Data
  3. Imports System.Windows.Forms
  4. Public Class Query
  5.     Dim connection As OleDbConnection
  6.     Dim command As OleDbCommand
  7.     Dim DataAdapter As OleDbDataAdapter
  8.     Dim DataAdapterForConstrailn As OleDbDataAdapter
  9.     Dim bufferTable As DataTable
  10.     Public Sub New(ByVal Conn As String)
  11.         'процедура подключения к БД, строка подключения Conn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=путь к бд\BD.mdb"
  12.         connection = New OleDbConnection(Conn)
  13.         bufferTable = New DataTable()
  14.     End Sub
  15.     Public Function UpDateTable(commandQuery As String) As DataTable
  16.         'функция возвращает данные по запросу commandQuery
  17.         'при попытке открытия соединения (connection.Open()), выдает ошибку "Сообщение об ошибке не предусмотрено, код результата: E_UNEXPECTED(0x8000FFFF)."
  18.         connection.Open()
  19.         DataAdapter = New OleDbDataAdapter(commandQuery, connection)
  20.         bufferTable.Clear()
  21.         DataAdapter.Fill(bufferTable)
  22.         connection.Close()
  23.         Return bufferTable
  24.     End Function
  25. End Class
Конфигурация платформы, при отладке: х86 (хотя пробовал менять параметр на х64, не помогла)

При работе приложения, в функции UpDateTable, при  попытке открыть соединение, воспроизводится ошибка "Сообщение об ошибке не предусмотрено, код результата: E_UNEXPECTED(0x8000FFFF)."
Странно то, что точно такое же приложение, с абсолютно тем же исходным кодом, работает без проблем.
Скажите пожалуйста, в чем может быть ошибка?

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
Если запустить проблемный код макросом на VBA на данной машине проблем нет?

Оффлайн fedorАвтор темы

  • ADN OPEN
  • Сообщений: 33
  • Карма: 0
эммм, в vba запустить подключение к бд...как это сделать?)))

Оффлайн mikazakov

  • ADN
  • *
  • Сообщений: 752
  • Карма: 195
  • Skype: mikazakov@mail.ru
Нужно ссылку на объектную библиотеку аксеса сделать, в VBA Инвентора, её в менеджере ссылок нужно поискать: