Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: deldemo от 17 Мая 2017, 14:02:25

Название: Microsoft SQL Server
Отправлено: deldemo от 17 Мая 2017, 14:02:25
Здравствуйте. При попытки подключить базу данных Microsoft SQL Server 2005, S-S выдает ошибку
(https://storage4.static.itmages.ru/i/17/0517/s_1495018839_7480011_9b4bf5cbef.jpg) (https://itmages.ru/image/view/5742103/9b4bf5cb)
Подскажите пожалуйста в какую сторону мне копать.
Название: Re: Microsoft SQL Server
Отправлено: Simple-Scada от 17 Мая 2017, 14:03:50
Здравствуйте.

СУБД находится на том же ПК, что и скада, или на удаленном?
Название: Re: Microsoft SQL Server
Отправлено: deldemo от 17 Мая 2017, 14:23:12
СУБД находится на том же ПК
Название: Re: Microsoft SQL Server
Отправлено: Simple-Scada от 17 Мая 2017, 14:34:27
Проверьте с такими параметрами. Только имя хоста возьмите своё (посмотреть можно через SQL Server Management Studio). Обычно оно выглядит как "ИМЯ_КОМПЬЮТЕРА\SQLEXPRESS". Проходит ли проверка подключения с данными параметрами? Если проходит, о впишите имя пользователя "sa", а пароль можно не указывать, т.к. используется аутентификация Windows.
Название: Re: Microsoft SQL Server
Отправлено: deldemo от 17 Мая 2017, 14:51:29
Цитировать
Проверьте с такими параметрами. Только имя хоста
Ошибка повторяется.
Еще одна ошибка при изменении провайдера

(https://storage2.static.itmages.ru/i/17/0517/s_1495022145_5438007_c16992e679.jpg) (https://itmages.ru/image/view/5742280/c16992e6)

Название: Re: Microsoft SQL Server
Отправлено: Simple-Scada от 17 Мая 2017, 14:58:47
А через Management Studio с проверкой подлинности Windows удается подключиться?
Название: Re: Microsoft SQL Server
Отправлено: deldemo от 17 Мая 2017, 15:24:44
Огромное спасибо!! Администратор
Все получилось. Я немножечко затупил и прописывал ваш путь......\SQLEXPRESS
А по факту получилось следующие WKSTATION1\WINCC
Еще раз спасибо!!!!!!!!!!
Название: Re: Microsoft SQL Server
Отправлено: deldemo от 17 Мая 2017, 17:42:20
Еще один вопрос по этой теме.
Редактор успешно соединяется с БД
Но во время выполнения проекта на сервере S-S данные в базу СУБД не пишутся, да и сервер говорит что ни какая база к нему не подключена.   
(https://storage2.static.itmages.ru/i/17/0517/s_1495031754_5553158_2efbbf4670.jpg) (https://itmages.ru/image/view/5742892/2efbbf46)

Извиняюсь за качество снимков, Нет возможности сделать скриншот, машина автономная (без интернета)
Название: Re: Microsoft SQL Server
Отправлено: Simple-Scada от 17 Мая 2017, 17:44:50
Вы наверно имя пользователя не ввели в настройках подключения к БД. Мы писали выше:

Цитировать
Проходит ли проверка подключения с данными параметрами? Если проходит, то впишите имя пользователя "sa", а пароль можно не указывать, т.к. используется аутентификация Windows.

А Вы тесты делаете на демо-версии с ограничением по времени (http://simple-scada.com/download-simple-scada) или на полной версии?
Название: Re: Microsoft SQL Server
Отправлено: deldemo от 17 Мая 2017, 17:53:43
Тесты делаю на демо версии с ограничениями по времени.
Название: Re: Microsoft SQL Server
Отправлено: deldemo от 18 Мая 2017, 14:23:06
Уважаемые Администраторы сделайте пожалуйста пример выборки данных из СУБД MS SQL.
Название: Re: Microsoft SQL Server
Отправлено: deldemo от 19 Мая 2017, 08:03:52
Не хочется создавать новую тему, буду продолжать писать здесь.
Пытаюсь сделать запрос к БД в ответ ни чего не приходит.

Код
var
  aQuery:string;
begin
  aQuery:='select AR_NAME from CFG_ARTICLE where AR_ARTICLECODE = ' + vRecept.AsStr +';';
  RunSQL(aQuery, nil, 5);
end.

SQL_Done

begin
  if DataSet.Tag = 5 then
    vvv.Value := DtaSet[0].AsStr;
end.

Валятся ошибки на сервере S-S.
(https://storage8.static.itmages.ru/i/17/0519/s_1495169366_5227367_e0ff213d75.jpg) (https://itmages.ru/image/view/5747315/e0ff213d)
(https://storage1.static.itmages.ru/i/17/0519/s_1495169416_5417835_f9b1e68d61.jpg) (https://itmages.ru/image/view/5747316/f9b1e68d)
Ячейки в БД которые мне нужны
(https://storage7.static.itmages.ru/i/17/0519/s_1495169515_7364827_498c2fc129.jpg) (https://itmages.ru/image/view/5747320/498c2fc1)
Запрос полностью выполняется на  самой СУБД
(https://storage6.static.itmages.ru/i/17/0519/s_1495169497_2574213_583340d104.jpg) (https://itmages.ru/image/view/5747319/583340d1)
Название: Re: Microsoft SQL Server
Отправлено: Simple-Scada от 19 Мая 2017, 09:42:02
Цитировать
Пытаюсь сделать запрос к БД в ответ ни чего не приходит.
Запросы к SQL Server мало отличаются от запросов к MySQL, обычно указывается схема по-умолчанию ([dbo]) и вместо указания идентификаторов в одинарных кавычках, используются квадратные скобки. Например:

Код
var
  aQuery: string;
begin
  aQuery := 'SELECT * FROM [dbo].[trends_data] WHERE [id]=20 AND ([timestamp]>=''2017-05-19T05:58:08'');';
  RunSQL(aQuery, nil, 1);
end.

Но в Вашем случае сначала нужно разобраться с ошибками на сервере. База данных была создана скадой, или какой-то другой программой и Вы подключаетесь к ней?
Название: Re: Microsoft SQL Server
Отправлено: deldemo от 19 Мая 2017, 10:24:51
База данных создана другой программой. Я пытаюсь подключится к существующей БД(BatchExplorer)  производства.
Заметел еще один нюанс.
В выше указанной  БД, в таблицах созданных Simple-Scada вместо русского  текста  (я так понимаю) вопросительные знаки. Хотя цифры отображаются корректно.
(https://storage2.static.itmages.ru/i/17/0519/s_1495178092_2458381_a83d37f70d.jpg) (https://itmages.ru/image/view/5747713/a83d37f7)
Название: Re: Microsoft SQL Server
Отправлено: Simple-Scada от 19 Мая 2017, 10:36:35
Видимо Ваша БД создана с кодировкой не предназначенной для кириллицы (скорее всего и ошибки сервер выдает по этой причине). Кодировку можно посмотреть в свойствах БД, как на скрине. Изменить кодировку можно в этом же окне на вкладке Options.
Название: Re: Microsoft SQL Server
Отправлено: deldemo от 19 Мая 2017, 10:55:05
Если я S-S переключу на английский это исправит положение?
Кодировка в БД  SQL_Latin1_General_CP1_CI_AS
Название: Re: Microsoft SQL Server
Отправлено: deldemo от 19 Мая 2017, 11:20:17
Почти все получилось. Запросы проходят, данные приходят. Но ошибка базы при отключении осталась.
Огромное спасибо за помощь!!!
Название: Re: Microsoft SQL Server
Отправлено: Simple-Scada от 20 Мая 2017, 09:07:56
Цитировать
Если я S-S переключу на английский это исправит положение?
Нет.

Цитировать
Почти все получилось. Запросы проходят, данные приходят.
Это после смены кодировки на Cyrillic?

Цитировать
Но ошибка базы при отключении осталась.
Ошибки те же? (incorrect syntax near ",")
Название: Re: Microsoft SQL Server
Отправлено: deldemo от 21 Мая 2017, 18:48:56
Цитировать
Это после смены кодировки на Cyrillic?
Кодировку к сожалению не удалось поменять. Есть вероятность потери данных. (БД достаточно большая). В связи с этим ошибка та же.

Проблема была в моей тупости(иначе не назовешь).
При отправки запроса к СУБД я не брал  переменную в 'кавычки'. А должен был, ведь переменная типа string.
Название: Re: Microsoft SQL Server
Отправлено: Simple-Scada от 22 Мая 2017, 00:25:39
Цитировать
Кодировку к сожалению не удалось поменять. Есть вероятность потери данных. (БД достаточно большая). В связи с этим ошибка та же.
Сделаем тесты под данную кодировку и попробуем добиться корректного отключения без выдачи ошибок.
Название: Re: Microsoft SQL Server
Отправлено: deldemo от 05 Июня 2017, 13:16:37
Здравствуйте.
  Очередной раз прошу помощи ни как не получается сформировать запрос в S-S.

Код
SELECT 
   AR_ARTICLECODE
   ,AR_NAME
   ,CAST(DP_BATCHESDONE AS VARCHAR) + '/' + CAST(DP_BATCHESSET AS VARCHAR) AS BATCHESSETANDDONE
   ,DP_TOTALWEIGHT
   ,AR_COMMENT
 FROM CFG_DAYPROGRAM
 INNER JOIN CFG_ARTICLE ON DP_PRODUCT_ID = AR_ARTICLE_ID
 LEFT JOIN CFG_PRESS_BIN ON PCL_PRESSBIN_ID = DP_PRODUCTBIN_ID
 LEFT JOIN CFG_PRODUCT_BIN ON DCL_PRODUCTBIN_ID = DP_PRODUCTBIN_ID
 WHERE (DP_BATCHESDONE < DP_BATCHESSET
AND DP_LOTNUMBER > 0
AND DP_PRODUCE = 1
AND DP_MODIFYTYPE <> 'D')
OR DP_LOTNUMBER IN
(SELECT DP_LOTNUMBER
FROM CFG_DAYPROGRAM
INNER JOIN CFG_BATCHES ON DP_LOTNUMBER = BD_LOTNUMBER
INNER JOIN CFG_UNITS ON UN_BATCHNUMBER = BD_BATCHNUMBER
WHERE BD_BATCHNUMBER > 1
AND UN_MODIFYTYPE <> 'D')
 ORDER BY DP_PRODUCTIONNUMBER

Вопрос снят. Разобрался