none
WPF и ADODB RRS feed

  • Вопрос

  • Работаю с базами данных через ADODB (AccessDataBaseEngine)

    Возникла необходимость внедрить все библиотеки в один исполняемый файл. Как можно внедрить в проект сам ADODB? Возможно это сделать? Что бы не требовалось устанавливать дополнительное ПО для работы этой программы.

    29 апреля 2020 г. 15:47

Ответы

  • Библиотеки то можно внедрить, но Access Database Engine это не библиотека, а драйвер источника данных ADO/OLE, который должен устанавливаться в ОС. То же самое про SqlClient, он входит в .NET Framework, но для работы с .mdf файлами локально нужно будет все равно установить на машину саму СУБД (хотя бы LocalDB). Тут вам скорее нужен SQL Compact или SQLite.
    • Помечено в качестве ответа Siompc 30 апреля 2020 г. 9:25
    30 апреля 2020 г. 8:41

Все ответы

  • Или может посоветуете использовать другой способ работы с однофайловыми БД? Есть в самом net.framework встроенные решения по работе с такими базами?

    Ну и первый вопрос остается в силе :)

    29 апреля 2020 г. 15:56
  • Пробую использовать System.Data.SqlClient. Создал пробную базу mdf

    Почему-то зависает при попытке подключения на строке Cnn.open

                conString = "Persist Security Info=False; Trusted_Connection=True; database=c:\test.mdf; server=(local);"
                'Подключаем к базе
                Cnn = New SqlConnection(conString)
                Cnn.Open()

    Неправильно указал строку подключения?

    Базы конечно весят ого-го. Пустая база 8 мб? Почему так много...

    29 апреля 2020 г. 20:24
  • Нашел строку в обозревателе серверов ) Попробую сейчас

    Для использования System.Data.SqlClient нужен только установленный net.framework у клиента? Или опять потребуется сторонний софт?

    • Изменено Siompc 29 апреля 2020 г. 20:36
    29 апреля 2020 г. 20:35
  • "Возникла необходимость внедрить все библиотеки в один исполняемый файл. Как можно внедрить в проект сам ADODB?" - в .NET Core можно так сделать если выбрать соответствующий тип проекта. В .NET Framework этого делать не нужно, если соответсвующая версия фреймвока уже установлена. В большинстве современных ОС Windows это так.

    "Для использования System.Data.SqlClient нужен только установленный net.framework у клиента" - да, больше ничего не нужно.


    Сделаем содержимое сообщества лучше, вместе!

    30 апреля 2020 г. 6:09
    Модератор
  • Библиотеки то можно внедрить, но Access Database Engine это не библиотека, а драйвер источника данных ADO/OLE, который должен устанавливаться в ОС. То же самое про SqlClient, он входит в .NET Framework, но для работы с .mdf файлами локально нужно будет все равно установить на машину саму СУБД (хотя бы LocalDB). Тут вам скорее нужен SQL Compact или SQLite.
    • Помечено в качестве ответа Siompc 30 апреля 2020 г. 9:25
    30 апреля 2020 г. 8:41