Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Связь с MS SQL сервером  (Прочитано 2100 раз)

Yurlov

  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Связь с MS SQL сервером
« : 02 Февраля 2019, 02:56:51 »
Доброго времени суток, уважаемые.

Возникла делема с подключением к MS SQL.
Установка соединения через Editor проходит успешно: вложение 1.

А вот при запуске сервера выходит сообщение с ошибкой EC:262, Create table permission denied in database "SLFR"(вложение 2)
По справкам из google и переводу понятно, что мне с моей учеткой запрещено создавать таблицы в этой БД, но дело в том, что мне ее и не надо создавать и писать в нее, нужно только чтение.
Скрипты по обмену не используются

Может кто-нибудь уже сталкивался с этим? Буду очень признателен за помощь или разъяснение в моих заблуждениях.

Yurlov

  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Связь с MS SQL сервером
« Ответ #1 : 03 Февраля 2019, 01:57:36 »
В продолжение темы:
Штудируя просторы справочников по скриптам, пришел к выводу, что БД, подключенная в проекте, должна быть открыта для записи, т.к состояние тегов будет писаться в новую таблицу этой БД.
Полагаю, что данное свойство прописано при старте самого Server SS.

Уважаемые разработчики, есть ли вариант сделать индивидуальный сервер с отсутствием создания таблицы в указанной БД?
Либо вариант написания скрипта SQLRun с указанием строки подключения: "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial
Catalog=pubs;Data Source=YourDataSourceName;Network Library=dbnmpntw" и соответственно чтения из нее необходимой таблицы?

Заранее благодарен.
 



Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3215
    • Просмотр профиля
    • Simple-Scada
Re: Связь с MS SQL сервером
« Ответ #2 : 05 Февраля 2019, 10:17:02 »
Здравствуйте.
Извините за задержку с ответом. Параметры подключения к БД указываются в Редакторе при разработке проекта, в меню "Проект -> Настройки -> База данных". При запуске проекта сервер скады попытается подключиться к БД с указанными параметрами подключения и проверит в БД структуру таблиц. Если БД пуста, то сервер скады попытается создать в БД необходимые ему таблицы (таблицы для хранения архивных данных трендов, сообщений, действий оператора). Без этих таблиц функции архивации просто не будут работать. Права на создание таблиц нужны серверу только один раз. После создания таблиц права сервера на создание таблиц можно снова ограничить, т.к. в дальнейшем сервер будет только записывать и читать данные из этих таблиц.
Касаемо процедуры RunSQL: она всегда выполняет запросы к БД с теми параметрами, которые заданы в меню "Проект -> Настройки -> База данных".

Цитировать
Уважаемые разработчики, есть ли вариант сделать индивидуальный сервер с отсутствием создания таблицы в указанной БД?
Либо вариант написания скрипта SQLRun с указанием строки подключения: "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial
Catalog=pubs;Data Source=YourDataSourceName;Network Library=dbnmpntw" и соответственно чтения из нее необходимой таблицы?
В будущем мы добавим возможность создания пользовательских подключений к разным БД (точные сроки реализации назвать трудно, можем лишь сказать, что это одна из первоочередных задач). Тогда можно будет помимо основного подключения создать своё с нужными параметрами и выполнять через него пользовательские SQL-запросы.