InTouch+PostgreSQL

Вопросы, не попадающие в другие разделы.

InTouch+PostgreSQL

Сообщение Useful » Чт мар 18, 2010 5:38 pm

Здравствуйте, помогите пожалуйста с соединением к БД PostgreSQL (без обсуждения, почему была выбрана именно эта БД). В администрираторе ODBC БД прописал, после теста пишет, что соединение successful. В InTouch создаю кнопку с action:
SQLConnect(ConnectionID, " DSN = PostgreSQL35W ");
- PostgreSQL35W - имя БД в администраторе ODBC
- ConnectionID - memory integer тег

в руководстве пользователя написано, что ConnectionID - значение возвращается при успешном выполнении функции SQLConnect(). Если соединение установлено успешно, это будет положительное целое. Если соединение не установлено, это будет отрицательное целое.

у меня после нажатия кнопки (в принципе как и до) значение "0". На
SQLDisconnect тоже не реагирует. Меняю значение ConnectionID вручную (на "-5" например), после нажатия кнопки с SQLConnect, значение не меняется.

Я так понимаю, что PostgreSQL требует ряд дополнительных атрибутов подключения. Пытался еще добавить UID (login) и PWD (password), но положительных результатов это также не дало.

Если кто-то конкретно сталкивался с этой разновидностью БД, буду очень признателен за помощь. :!:
Useful
 
Сообщения: 64
Зарегистрирован: Чт мар 18, 2010 5:21 pm

Сообщение Klinkmann_Msk » Пт мар 19, 2010 7:55 am

To Useful:
SQL_error = SQLConnect(ConnectionId,"DSN=PostgreSQL35W;UID=sa;PWD=sa;Database=test");
Без каких-либо пробелов.
SQL_Error, ConnectionID - Memory Integer.
После выполнения команды анализируем SQL_Error.
Klinkmann_Msk
 
Сообщения: 819
Зарегистрирован: Пт сен 18, 2009 10:12 am

Сообщение Useful » Пт мар 19, 2010 8:11 am

Проблемка, в моем справочном руководстве нет ResultCode -1014 (это значение SQL_Error после выполнения написанного вами скрипта, значения пользователя, пароля и database свои), все заканчивается на -1011 :roll:

кстати что такое Database, в руководстве про этот атрибут ничего не написано, я написал физическое название БД, которое указываешь при ее создании.

и вообще может появилось более свежее руководство? =)

InTouch 10.1 если это важно.
Useful
 
Сообщения: 64
Зарегистрирован: Чт мар 18, 2010 5:21 pm

Сообщение Klinkmann_Msk » Пт мар 19, 2010 8:15 am

To Useful:
Database=test - имя БД, к которой подключаемся.
Попробуйте использовать Display >> String >> SQLErrorMsg(SQL_error) для преобразования кода в строку-пояснение ошибки.
Klinkmann_Msk
 
Сообщения: 819
Зарегистрирован: Пт сен 18, 2009 10:12 am

Сообщение Useful » Пт мар 19, 2010 8:53 am

Пишет:
"SQL.def does not exist" - т.е. не существует такого файла. Создал его в access manager, прописал привязку одного тэга с колонкой, сохранился, нашел физически этот файл в папке проекта, данные совпали с только что введенными. Перезапускаю проект и все работает, снимаю шляпу, большое спасибо.

А вопрос насчет мануала, в моем ничего нет по поводу атрибута database вы где это прочитали? поделитесь если это возможно.
Useful
 
Сообщения: 64
Зарегистрирован: Чт мар 18, 2010 5:21 pm

Сообщение Klinkmann_Msk » Пт мар 19, 2010 10:07 am

To Useful:
Аттрибут Database аналогичен аттрибуту DB. См. хелп InTouch-index-SQLConnect.
Error: "WWSQL -1014 The Sql.def file does not exist".
1. Check the regional options concerning the "list seperator". Change it to ";"
2. The SQL.DEF will be created when a SQL bind list or table template is created for the application. In WindowMaker, select Special/SQL Access Manager/Bind List (or Table Template) from the menu or double-click the option from the app explorer tree.
Klinkmann_Msk
 
Сообщения: 819
Зарегистрирован: Пт сен 18, 2009 10:12 am


Вернуться в Другое

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

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

cron