Профиль должен быть заполнен на русском языке кириллицей. Заполнение профиля заведомо ложными или некорректными данными - причина возможного отказа в регистрации на форуме.

Intouch & MSSQL

SCADA, серверы, АРМ верхнего уровня, диспетчерские

Автор темы
nike
здесь недавно
здесь недавно
Сообщения: 13
Зарегистрирован: 24 авг 2011, 13:48
Ф.И.О.: pupkin

Intouch & MSSQL

Сообщение nike » 02 фев 2012, 12:45

Всем доброго дня!
недавно начал изучение intouch 10.1

теперь стоит задача связаться с MSSQL (стоит 2008 R2)
т.е. у меня есть какая-то таблица и надо чтобы данные из таблицы отображались в Intouch.
с чего начать помогите новичку, плиз!

нашел примерное описание http://files.mail.ru/ZHN4TS, но что -то не получается с ним разобраться.


Автор темы
nike
здесь недавно
здесь недавно
Сообщения: 13
Зарегистрирован: 24 авг 2011, 13:48
Ф.И.О.: pupkin

Re: Intouch & MSSQL

Сообщение nike » 06 фев 2012, 08:19

Вопрос остается открытым.

неужели никто ничем не может помочь?


LexSL
здесь недавно
здесь недавно
Сообщения: 42
Зарегистрирован: 16 дек 2011, 14:13
Ф.И.О.: Михайлов Алексей
Поблагодарили: 1 раз

Re: Intouch & MSSQL

Сообщение LexSL » 06 фев 2012, 10:31

Доброго дня!
Как такового табличного отображения в Интаче нет. (или я не встречал подобного).
Тот путь, который предполагает использование функций типа SQLConnect, SQLSelect,..SQLNext.. и прочие функции, будет отображать Вам выбранную строку . То есть Вы заводите столько тегов, сколько столбцов в вашей таблице, функцией SQLSelect заполняете BindList,в котором задано соответствие ваших тегов и полей в таблице. А далее, функциями SQLNext, SQLPrev, SQLFirst и т.д. получаете данные.
Правда есть еще ActiveX wwGenericSqlGrid (http://fa.sammicomputer.co.kr/TECH/html/t001046.htm), который можно встроить в Интач и по OnShow окна, на котором расположен этот Grid, делать необходимые запросы..(но мне лично этот ActiveX не нравиться).
Вообще, табличное представление полученных данных, будь то данные от SQL или текущие данные очень хотелось бы иметь. Например впрямую этот контрол настраивать на нужные теги и на каждую строку накладывать условие по цвету например.


Автор темы
nike
здесь недавно
здесь недавно
Сообщения: 13
Зарегистрирован: 24 авг 2011, 13:48
Ф.И.О.: pupkin

Re: Intouch & MSSQL

Сообщение nike » 06 фев 2012, 12:57

LexSL писал(а):Доброго дня!
Как такового табличного отображения в Интаче нет. (или я не встречал подобного).
Тот путь, который предполагает использование функций типа SQLConnect, SQLSelect,..SQLNext.. и прочие функции, будет отображать Вам выбранную строку . То есть Вы заводите столько тегов, сколько столбцов в вашей таблице, функцией SQLSelect заполняете BindList,в котором задано соответствие ваших тегов и полей в таблице. А далее, функциями SQLNext, SQLPrev, SQLFirst и т.д. получаете данные.

А не могли бы скинуть скины или поподробней расписать или пример, если есть


LexSL
здесь недавно
здесь недавно
Сообщения: 42
Зарегистрирован: 16 дек 2011, 14:13
Ф.И.О.: Михайлов Алексей
Поблагодарили: 1 раз

Re: Intouch & MSSQL

Сообщение LexSL » 06 фев 2012, 13:43

А что конкретно-то не получается? в том файле SQLAccess.doc вроде все подробно расписано (сам с него же и начинал когда-то), одно только замечание:
Если у вас стоит Win7 64 бит, то когда вы создаете DSN для SQL Server, создавать его надо в 64-битной версии программы: путь такой C:\Windows\SysWOW64\odbcad32.exe.( по крайней мере, у меня так было.)


Автор темы
nike
здесь недавно
здесь недавно
Сообщения: 13
Зарегистрирован: 24 авг 2011, 13:48
Ф.И.О.: pupkin

Re: Intouch & MSSQL

Сообщение nike » 06 фев 2012, 13:58

стоит обычная XP sp3
т.е. в 15 пункте:
SQL Errors: Value Display >> String >> SQLErrorMsg(SQL_error)
он дает ошибку : Cannot mix another type with string
и я делаю Value Display >> Analog>> SQLErrorMsg(SQL_error) (так ошибок никаких нет, но походу это не правильно)

затем создаю кнопки touch pushbuttons >> Action и втавляю скрипты для каждой кнопки. захожу в window viwer.
но ничего не происходит(


LexSL
здесь недавно
здесь недавно
Сообщения: 42
Зарегистрирован: 16 дек 2011, 14:13
Ф.И.О.: Михайлов Алексей
Поблагодарили: 1 раз

Re: Intouch & MSSQL

Сообщение LexSL » 06 фев 2012, 14:25

nike писал(а):и я делаю Value Display >> Analog>> SQLErrorMsg(SQL_error) (так ошибок никаких нет, но походу это не правильно)

Из хелпа: "The SQLErrorMsg() function returns the error message associated with the result code and assigns it as the value of an InTouch message tag. "
функция SQLErrorMsg(int resultCode) возвращает строку! по номеру ошибки. поэтому Вам необходимо привязывать не к Value Display->Analog, а к Value Display -> String.
Вообще, все ошибки Viewer "складывает" в LogViewer, в том числе и по соединению с MSSQL (смотреть в Archestra System Management Console).
Будьте добры, выложите лог, чтобы мне не гадать.(весь лог не нужен :) , только записи об ошибке ).
Кстати, по завершению приложения не забывайте вызывать функцию SQLDisconnect..


Автор темы
nike
здесь недавно
здесь недавно
Сообщения: 13
Зарегистрирован: 24 авг 2011, 13:48
Ф.И.О.: pupkin

Re: Intouch & MSSQL

Сообщение nike » 06 фев 2012, 15:48

последнее выглядит так:

Код: Выделить всё

445832   06.02.2012   15:02:21   5188   8844   Info   WWSQL   Error: Connection failed DSN=SQL_Data;UID=sa;PWD=sa;Database=test
445833   06.02.2012   15:02:21   5188   8844   Info   WWSQL   -1:  Microsoft OLE DB Provider for ODBC Drivers: [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'sa'.
445834   06.02.2012   15:02:21   5188   8844   Info   WWSQL   Error: Connection failed DSN=SQL_Data;UID=sa;PWD=sa;Database=test
445835   06.02.2012   15:02:21   5188   8844   Info   WWSQL   -1:  Microsoft OLE DB Provider for ODBC Drivers: [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'sa'.
445836   06.02.2012   15:02:21   5188   8844   Info   WWSQL   Error: Connection failed DSN=SQL_Data;UID=sa;PWD=sa;Database=test
445837   06.02.2012   15:02:21   5188   8844   Info   WWSQL   -1:  Microsoft OLE DB Provider for ODBC Drivers: [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'sa'.
445838   06.02.2012   15:02:21   5188   8844   Info   WWSQL   Error: Connection failed DSN=SQL_Data;UID=sa;PWD=sa;Database=test
445839   06.02.2012   15:02:21   5188   8844   Info   WWSQL   -1:  Microsoft OLE DB Provider for ODBC Drivers: [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'sa'.
445840   06.02.2012   15:02:21   5188   8844   Info   WWSQL   Error: Connection failed DSN=SQL_Data;UID=sa;PWD=sa;Database=test
445841   06.02.2012   15:02:21   5188   8844   Info   WWSQL   -1:  Microsoft OLE DB Provider for ODBC Drivers: [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'sa'.
445842   06.02.2012   15:02:22   5188   8844   Info   WWSQL   Error: Connection failed DSN=SQL_Data;UID=sa;PWD=sa;Database=test
445843   06.02.2012   15:02:22   5188   8844   Info   WWSQL   -1:  Microsoft OLE DB Provider for ODBC Drivers: [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'sa'.
445844   06.02.2012   15:02:22   5188   8844   Info   WWSQL   Error: Connection failed DSN=SQL_Data;UID=sa;PWD=sa;Database=test
445845   06.02.2012   15:02:22   5188   8844   Info   WWSQL   -1:  Microsoft OLE DB Provider for ODBC Drivers: [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'sa'.
445846   06.02.2012   15:02:22   5188   8844   Info   WWSQL   Error: Connection failed DSN=SQL_Data;UID=sa;PWD=sa;Database=test
445847   06.02.2012   15:02:22   5188   8844   Info   WWSQL   -1:  Microsoft OLE DB Provider for ODBC Drivers: [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'sa'.
445848   06.02.2012   15:02:22   8968   8972   Info   hd   InTouch Historical Data Server shutting down
445849   06.02.2012   15:02:22   8968   8972   Info   hd   Historical Data Utility shutting down
445850   06.02.2012   15:02:22   5188   8844   Info   WC   WC shutting down...
445851   06.02.2012   15:02:28   1320   1264   Info   AlarmMgr   AlarmMgr on AIDAR shutdown
445852   06.02.2012   15:02:28   3340   3344   Info   WC   WC shutting down...
445853   06.02.2012   15:03:44   672   692   Info   aaLogger   Logger Shutting down.
445854   06.02.2012   16:37:08   664   684   Info   aaLogger   Logger Started.
445855   06.02.2012   16:37:08   664   684   Info   aaLogger   Logger Started.
445856   06.02.2012   16:44:07   676   696   Info   aaLogger   Logger Started.
445857   06.02.2012   16:44:07   676   696   Info   aaLogger   Logger Started.


LexSL
здесь недавно
здесь недавно
Сообщения: 42
Зарегистрирован: 16 дек 2011, 14:13
Ф.И.О.: Михайлов Алексей
Поблагодарили: 1 раз

Re: Intouch & MSSQL

Сообщение LexSL » 06 фев 2012, 16:05

ну вот что здесь непонятного? :) ясно пишут что коннект не удался под юзером sa. Вы когда DSN создаете, пробуете "Test Connection" под этим пользователем и его паролем?

.."DSN=SQL_Data;UID=sa;PWD=sa;Database=test"
Формат строки подключения правильный.

//Upd/
Наверно у Вас sa (sysadmin) имеет другой пароль.


Автор темы
nike
здесь недавно
здесь недавно
Сообщения: 13
Зарегистрирован: 24 авг 2011, 13:48
Ф.И.О.: pupkin

Re: Intouch & MSSQL

Сообщение nike » 06 фев 2012, 17:04

в источнике данных ODBC когда создаю новый системный DSN ,Test Connection прошел успешно.


LexSL
здесь недавно
здесь недавно
Сообщения: 42
Зарегистрирован: 16 дек 2011, 14:13
Ф.И.О.: Михайлов Алексей
Поблагодарили: 1 раз

Re: Intouch & MSSQL

Сообщение LexSL » 06 фев 2012, 17:12

значит я не угадал :)


ANY
здесь недавно
здесь недавно
Сообщения: 4
Зарегистрирован: 10 июл 2012, 12:05
Ф.И.О.: Yerofeyev Alexey
Откуда: Russia

Re: Intouch & MSSQL

Сообщение ANY » 04 дек 2014, 14:26

нашел по 10 версии, проверял в 9,5
"Далее приведены некоторые опытные наблюдения, которые были замечены в процессе настройки SQL-сервера и попыток подключения к нему из Wonderware InTouch:
1. Wonderware InTouch может подключаться к SQL-серверу только через удаленное соединение и не может через локальное. Плохо здесь то, что мы можем потерять в быстродействии, а хорошо, что сервер может быть расположен (установлен) на другом компьютере, что дает некоторую гибкость и удобство;
2. Подключиться к SQL-серверу из Wonderware InTouch можно, только если будет включен режим смешанной проверки подлинности пользователей, подключиться от имени текущего пользователя не удалось."


Проверял через Alarm DB Logger Manager - при указании в User Info текущего доменного пользователя у которого есть доступ к BD и таблице - ошибка, а при указании проверки пользователя с SQL - есть connect.
Важно не забыть в MS SQL - прописать права доступа к таблицам, view.

Можно использовать для подключения к базе
ResultCode = SQLConnect( ConnectionID, "DSN=myDSN; UID=user; PWD=password" );
Только плохо что "UID=user; PWD=password" - хранится в файле проекта (вер InTouch 9.5) в открытом виде :( . Поэтому при создании в источнике данных ODBC системный DSN - "Проверка учетной записи Windows NT", и соответственно использую для подключения к MS SQL
ResultCode = SQLConnect( ConnectionID, "DSN=myDSN; Trusted_Connection = Yes");
строчки можно посмотреть тут http://www.connectionstrings.com/

Создать в SQL Access Manager BindList, где указать связи полей вашей таблицы с тегами. Создать внутренний тег, в котором будет храниться идентификатор коннекта с БД SQL (например, ConnectID). Создать внутренние теги, куда у нас будут записываться значения из таблицы.


Вернуться в «Верхний уровень автоматизации»



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей