- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Intouch & MSSQL
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 13
- Зарегистрирован: 24 авг 2011, 14:48
- Имя: pupkin
- Страна: vas
Intouch & MSSQL
Всем доброго дня!
недавно начал изучение intouch 10.1
теперь стоит задача связаться с MSSQL (стоит 2008 R2)
т.е. у меня есть какая-то таблица и надо чтобы данные из таблицы отображались в Intouch.
с чего начать помогите новичку, плиз!
нашел примерное описание http://files.mail.ru/ZHN4TS, но что -то не получается с ним разобраться.
недавно начал изучение intouch 10.1
теперь стоит задача связаться с MSSQL (стоит 2008 R2)
т.е. у меня есть какая-то таблица и надо чтобы данные из таблицы отображались в Intouch.
с чего начать помогите новичку, плиз!
нашел примерное описание http://files.mail.ru/ZHN4TS, но что -то не получается с ним разобраться.
-
- здесь недавно
- Сообщения: 13
- Зарегистрирован: 24 авг 2011, 14:48
- Имя: pupkin
- Страна: vas
-
- освоился
- Сообщения: 208
- Зарегистрирован: 16 дек 2011, 15:13
- Имя: Алексей
- Страна: Россия
- Благодарил (а): 67 раз
- Поблагодарили: 53 раза
Re: Intouch & MSSQL
Доброго дня!
Как такового табличного отображения в Интаче нет. (или я не встречал подобного).
Тот путь, который предполагает использование функций типа SQLConnect, SQLSelect,..SQLNext.. и прочие функции, будет отображать Вам выбранную строку . То есть Вы заводите столько тегов, сколько столбцов в вашей таблице, функцией SQLSelect заполняете BindList,в котором задано соответствие ваших тегов и полей в таблице. А далее, функциями SQLNext, SQLPrev, SQLFirst и т.д. получаете данные.
Правда есть еще ActiveX wwGenericSqlGrid (http://fa.sammicomputer.co.kr/TECH/html/t001046.htm), который можно встроить в Интач и по OnShow окна, на котором расположен этот Grid, делать необходимые запросы..(но мне лично этот ActiveX не нравиться).
Вообще, табличное представление полученных данных, будь то данные от SQL или текущие данные очень хотелось бы иметь. Например впрямую этот контрол настраивать на нужные теги и на каждую строку накладывать условие по цвету например.
Как такового табличного отображения в Интаче нет. (или я не встречал подобного).
Тот путь, который предполагает использование функций типа SQLConnect, SQLSelect,..SQLNext.. и прочие функции, будет отображать Вам выбранную строку . То есть Вы заводите столько тегов, сколько столбцов в вашей таблице, функцией SQLSelect заполняете BindList,в котором задано соответствие ваших тегов и полей в таблице. А далее, функциями SQLNext, SQLPrev, SQLFirst и т.д. получаете данные.
Правда есть еще ActiveX wwGenericSqlGrid (http://fa.sammicomputer.co.kr/TECH/html/t001046.htm), который можно встроить в Интач и по OnShow окна, на котором расположен этот Grid, делать необходимые запросы..(но мне лично этот ActiveX не нравиться).
Вообще, табличное представление полученных данных, будь то данные от SQL или текущие данные очень хотелось бы иметь. Например впрямую этот контрол настраивать на нужные теги и на каждую строку накладывать условие по цвету например.
-
- здесь недавно
- Сообщения: 13
- Зарегистрирован: 24 авг 2011, 14:48
- Имя: pupkin
- Страна: vas
Re: Intouch & MSSQL
А не могли бы скинуть скины или поподробней расписать или пример, если естьLexSL писал(а):Доброго дня!
Как такового табличного отображения в Интаче нет. (или я не встречал подобного).
Тот путь, который предполагает использование функций типа SQLConnect, SQLSelect,..SQLNext.. и прочие функции, будет отображать Вам выбранную строку . То есть Вы заводите столько тегов, сколько столбцов в вашей таблице, функцией SQLSelect заполняете BindList,в котором задано соответствие ваших тегов и полей в таблице. А далее, функциями SQLNext, SQLPrev, SQLFirst и т.д. получаете данные.
-
- освоился
- Сообщения: 208
- Зарегистрирован: 16 дек 2011, 15:13
- Имя: Алексей
- Страна: Россия
- Благодарил (а): 67 раз
- Поблагодарили: 53 раза
Re: Intouch & MSSQL
А что конкретно-то не получается? в том файле SQLAccess.doc вроде все подробно расписано (сам с него же и начинал когда-то), одно только замечание:
Если у вас стоит Win7 64 бит, то когда вы создаете DSN для SQL Server, создавать его надо в 64-битной версии программы: путь такой C:\Windows\SysWOW64\odbcad32.exe.( по крайней мере, у меня так было.)
Если у вас стоит Win7 64 бит, то когда вы создаете DSN для SQL Server, создавать его надо в 64-битной версии программы: путь такой C:\Windows\SysWOW64\odbcad32.exe.( по крайней мере, у меня так было.)
-
- здесь недавно
- Сообщения: 13
- Зарегистрирован: 24 авг 2011, 14:48
- Имя: pupkin
- Страна: vas
Re: Intouch & MSSQL
стоит обычная 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.
но ничего не происходит(
т.е. в 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.
но ничего не происходит(
-
- освоился
- Сообщения: 208
- Зарегистрирован: 16 дек 2011, 15:13
- Имя: Алексей
- Страна: Россия
- Благодарил (а): 67 раз
- Поблагодарили: 53 раза
Re: Intouch & MSSQL
Из хелпа: "The SQLErrorMsg() function returns the error message associated with the result code and assigns it as the value of an InTouch message tag. "nike писал(а):и я делаю Value Display >> Analog>> SQLErrorMsg(SQL_error) (так ошибок никаких нет, но походу это не правильно)
функция SQLErrorMsg(int resultCode) возвращает строку! по номеру ошибки. поэтому Вам необходимо привязывать не к Value Display->Analog, а к Value Display String.
Вообще, все ошибки Viewer "складывает" в LogViewer, в том числе и по соединению с MSSQL (смотреть в Archestra System Management Console).
Будьте добры, выложите лог, чтобы мне не гадать.(весь лог не нужен :) , только записи об ошибке ).
Кстати, по завершению приложения не забывайте вызывать функцию SQLDisconnect..
-
- здесь недавно
- Сообщения: 13
- Зарегистрирован: 24 авг 2011, 14:48
- Имя: pupkin
- Страна: vas
Re: Intouch & MSSQL
последнее выглядит так:
Код: Выделить всё
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.
-
- освоился
- Сообщения: 208
- Зарегистрирован: 16 дек 2011, 15:13
- Имя: Алексей
- Страна: Россия
- Благодарил (а): 67 раз
- Поблагодарили: 53 раза
Re: Intouch & MSSQL
ну вот что здесь непонятного? :) ясно пишут что коннект не удался под юзером sa. Вы когда DSN создаете, пробуете "Test Connection" под этим пользователем и его паролем?
.."DSN=SQL_Data;UID=sa;PWD=sa;Database=test"
Формат строки подключения правильный.
//Upd/
Наверно у Вас sa (sysadmin) имеет другой пароль.
.."DSN=SQL_Data;UID=sa;PWD=sa;Database=test"
Формат строки подключения правильный.
//Upd/
Наверно у Вас sa (sysadmin) имеет другой пароль.
-
- здесь недавно
- Сообщения: 13
- Зарегистрирован: 24 авг 2011, 14:48
- Имя: pupkin
- Страна: vas
Re: Intouch & MSSQL
в источнике данных ODBC когда создаю новый системный DSN ,Test Connection прошел успешно.
-
- здесь недавно
- Сообщения: 4
- Зарегистрирован: 10 июл 2012, 13:05
- Имя: Yerofeyev Alexey
- Страна: Russia
Re: Intouch & MSSQL
нашел по 10 версии, проверял в 9,5
Важно не забыть в 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). Создать внутренние теги, куда у нас будут записываться значения из таблицы.
Проверял через Alarm DB Logger Manager - при указании в User Info текущего доменного пользователя у которого есть доступ к BD и таблице - ошибка, а при указании проверки пользователя с SQL - есть connect."Далее приведены некоторые опытные наблюдения, которые были замечены в процессе настройки SQL-сервера и попыток подключения к нему из Wonderware InTouch:
1. Wonderware InTouch может подключаться к SQL-серверу только через удаленное соединение и не может через локальное. Плохо здесь то, что мы можем потерять в быстродействии, а хорошо, что сервер может быть расположен (установлен) на другом компьютере, что дает некоторую гибкость и удобство;
2. Подключиться к SQL-серверу из Wonderware InTouch можно, только если будет включен режим смешанной проверки подлинности пользователей, подключиться от имени текущего пользователя не удалось."
Важно не забыть в 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). Создать внутренние теги, куда у нас будут записываться значения из таблицы.