sql

Автор Тема: sql  (Прочитано 11396 раз)

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

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

  • ADN OPEN
  • *****
  • Сообщений: 525
  • Карма: 2
sql
« : 11-02-2022, 17:01:02 »
При работе плагина с sql строка подключения ищется в конфиге ревита. Можно ли поменять место поиска?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13898
  • Карма: 1790
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: sql
« Ответ #1 : 11-02-2022, 17:03:32 »
При работе плагина с sql строка подключения ищется в конфиге ревита. Можно ли поменять место поиска?
Очень желательно уточнить как плагин работает с SQL. Какое API используется?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • *****
  • Сообщений: 525
  • Карма: 2
Re: sql
« Ответ #2 : 11-02-2022, 17:07:17 »
плагин работает через модель ADO.NET ( EntityFramework)

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13898
  • Карма: 1790
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: sql
« Ответ #3 : 11-02-2022, 17:15:00 »
плагин работает через модель ADO.NET ( EntityFramework)
А на лету подставить строку подключения ты не можешь? В этом случае ты мог бы хранить её где угодно.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • *****
  • Сообщений: 525
  • Карма: 2
Re: sql
« Ответ #4 : 11-02-2022, 17:16:05 »
плагин работает через модель ADO.NET ( EntityFramework)
А на лету подставить строку подключения ты не можешь? В этом случае ты мог бы хранить её где угодно.

на лету - пример как? Вообще у приложения есть свой App.config и в нем содержится строка подключения, но Ревит игнорирует этот конфиг, ищет строку подключения в своем конфиге

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13898
  • Карма: 1790
  • Рыцарь ObjectARX
  • Skype: rivilis
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • *****
  • Сообщений: 525
  • Карма: 2
Re: sql
« Ответ #6 : 11-02-2022, 17:27:29 »
Вообще, на лету строку можно прописать, при создании экземпляра модели базы данных (БД). Но , в ситуации когда вся работа и модель БД описана в одном dll который в свою очередь подгружается ссылкой в dll самого плагина - то тут эта прописанная строка игнорируется, не понятно почему. Поэтому тут вопрос, есть ли что то универсальное , чтобы Ревит искал строку подключения именно в заданном конфиге

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13898
  • Карма: 1790
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: sql
« Ответ #7 : 11-02-2022, 17:33:25 »
enot,
Посмотри эту тему: https://stackoverflow.com/questions/34350851/entity-framework-6-set-connection-string-in-code
Там описано как создать строку подключения в EntityFramework в коде. Ну а раз можно в коде, то ты можешь прочитать ее и из своего файла конфигурации.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Re: sql
« Ответ #8 : 11-02-2022, 17:36:00 »
на лету - пример как? Вообще у приложения есть свой App.config и в нем содержится строка подключения, но Ревит игнорирует этот конфиг, ищет строку подключения в своем конфиге

Потому что плагин - это не приложение и у него не может быть app.config

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13898
  • Карма: 1790
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: sql
« Ответ #9 : 11-02-2022, 17:38:38 »
на лету - пример как? Вообще у приложения есть свой App.config и в нем содержится строка подключения, но Ревит игнорирует этот конфиг, ищет строку подключения в своем конфиге

Потому что плагин - это не приложение и у него не может быть app.config
Быть он может, но он игнорируется.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Re: sql
« Ответ #10 : 11-02-2022, 17:41:10 »
на лету - пример как? Вообще у приложения есть свой App.config и в нем содержится строка подключения, но Ревит игнорирует этот конфиг, ищет строку подключения в своем конфиге

Потому что плагин - это не приложение и у него не может быть app.config
Быть он может, но он игнорируется.

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

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13898
  • Карма: 1790
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: sql
« Ответ #11 : 11-02-2022, 17:42:55 »
на лету - пример как? Вообще у приложения есть свой App.config и в нем содержится строка подключения, но Ревит игнорирует этот конфиг, ищет строку подключения в своем конфиге

Потому что плагин - это не приложение и у него не может быть app.config
Быть он может, но он игнорируется.

Он может быть, но его чтение нужно реализовывать вручную. Стандартный функционал читать его конечно-же не будет, так как выполняемая программа в данный момент - это автокад, а не плагин
Согласен! :)
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13898
  • Карма: 1790
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: sql
« Ответ #12 : 11-02-2022, 17:44:33 »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Re: sql
« Ответ #13 : 11-02-2022, 17:52:08 »
Немного оффтопика в тему:
Пока я работал в большой конторе, то часто видел практику использования файлов конфигов для такого рода значений - строка подключения к БД, какие-то URL и т.п. Причем, не задолго до моего увольнения, там начали прям обширно это использовать. Задумка ясна как день - поменять какие-то значения не пересобирая плагин... НО! Но это все в теории. На практике никто из пользователей во-первых не знает об этих конфигах, а во-вторых не будет в них ничего менять (ибо нафиг им это не надо). Поэтому новые значения в этих же конфигах доставляются до пользователей с новыми версиями плагинов. Смешно ))
Так что, ИМХО - вбивайте путь подключения к БД прям в код и ничего в вашей жизни

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

  • ADN OPEN
  • *****
  • Сообщений: 525
  • Карма: 2
Re: sql
« Ответ #14 : 11-02-2022, 18:04:40 »
строка подключения в код и вбита при создании контекста БД (так как конфиг плагина игнорируется ) - это работает при запуске плагина.
проблема начинается тогда , когда этот плагин с работой БД добавляется ссылкой (как библиотека) в другой плагин - и тут при запуске этой БД из этой ссылки вылетает ошибка