powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Связь с базой данных
16 сообщений из 16, страница 1 из 1
Связь с базой данных
    #34991467
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У клиента установлен Access.
Вот скрипт подсоединения к базе данных:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
string ls_connect, ls_databasefile, ls_driver, ls_current_directory

ls_current_directory = GetCurrentDirectory( )

ls_DataBaseFile = ls_current_directory + "\Basa.mdb" 
ls_Driver = "Microsoft Access Driver (*.mdb)"

ls_connect = "'" + &
	"DBQ=" + ls_DataBaseFile + &
	";Driver=" + ls_Driver + &
	";FIL=MS Access;" + &
	"'"

SQLCA.DBMS 		= "ODBC"
SQLCA.Autocommit 	= TRUE
SQLCA.DbParm 	= "ConnectString=" + ls_connect

connect using SQLCA;
База находится в текущей дирректории.
У меня проблем нет, а у клиента получается ошибка:
DBMS ODBC is not supported in your current installation
Где грабли?
...
Рейтинг: 0 / 0
Связь с базой данных
    #34991531
Фотография Ikar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО, грабли в неполном наборе библиотек PB-runtime.
/* как бы вариант, что у пользователя из винды снесено напрочь ODBC я, пожалуй, не буду предполагать... Хотя, как вариант, стоит проверить, есть ли на машине драйвер Акцеса...*/
------------
С уважением, IKAR

IkarHomeCenter ........ Детский Дворик ........ ГавГав.Инфо
Портал русскоязычной группы пользователей Sybase
...
Рейтинг: 0 / 0
Связь с базой данных
    #34991553
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RiskaSQLCA.DBMS = "ODBC"
DBMS ODBC is not supported in your current installation
Где грабли?
Файл pbodbXX.dll и pbodbXX.ini в каталоге с рантаймом есть?
...
Рейтинг: 0 / 0
Связь с базой данных
    #34992036
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОНО!!! Спасибо.
...
Рейтинг: 0 / 0
Связь с базой данных
    #35046829
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Продолжение темы.
Использую Access в качестве базы данных. Все файлы (exe, pbd, dll, mdb, ...) находятся в одной папке. Если папка находится где-нибудь на жестком диске или на диске on-key, то все работает нормально. Но при запуске с CD получаю ошибку (см. картинку). Думаю, что ошибка не соответствует проблеме. Скорее всего проблема в том, что при подключении к базе данных Access автоматически создает свой файл *.ldb весом 1Кб. Т.к. на CD записать не получается, то получаем ошибку.
База данных используется только для считывания информации. Никаких изменений делать не надо. Все таблицы, создаваемые PowerBuilder-ом (pbcat...) уже находятся в базе данных.
Клиент хочет запускать программу с CD. Варианты, типа скопировать не спрашивая базу куда-нибудь на жесткий диск не подходят. Как можно (и можно ли вообще) решить проблему?
...
Рейтинг: 0 / 0
Связь с базой данных
    #35047068
Фотография AIZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может клиента флешка устроит?
...
Рейтинг: 0 / 0
Связь с базой данных
    #35047226
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AIZМожет клиента флешка устроит?
Нет. CD идет на продажу.
...
Рейтинг: 0 / 0
Связь с базой данных
    #35047457
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Riska AIZМожет клиента флешка устроит?
Нет. CD идет на продажу.
добавить в ConnectString : ReadOnly=1;Exclusive=1;
...
Рейтинг: 0 / 0
Связь с базой данных
    #35048284
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять ОНО!!! Спасибо.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Связь с базой данных
    #35905885
ампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Anatoly Moskovsky, скажите мне, пожалуйста, что такое каталог с рантаймом?:) у меня та же ошибка, библиотеки вообще есть, но в том ли каталоге?
...
Рейтинг: 0 / 0
Связь с базой данных
    #35906015
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ампочкаAnatoly Moskovsky, скажите мне, пожалуйста, что такое каталог с рантаймом?:) у меня та же ошибка, библиотеки вообще есть, но в том ли каталоге?
Это тот каталог, где лежит виртуальная машина PB (pbvm*.dll и сопутствующее) которая исполняет ваше приложение. Т.е. если они в одном каталоге с исполняемым файлом, то браться будут именно они (а не те например, которые по путям есть).
...
Рейтинг: 0 / 0
Связь с базой данных
    #35906312
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин МаркампочкаAnatoly Moskovsky, скажите мне, пожалуйста, что такое каталог с рантаймом?:) у меня та же ошибка, библиотеки вообще есть, но в том ли каталоге?
Это тот каталог, где лежит виртуальная машина PB (pbvm*.dll и сопутствующее) которая исполняет ваше приложение. Т.е. если они в одном каталоге с исполняемым файлом, то браться будут именно они (а не те например, которые по путям есть).

Все эти dll лежат в одном каталоге, так что это не спасает..
А еще странная фича: когда в Powerbuilder в Database profile берешь строку соединения и тупо в скрипт пишешь, после чего вызываешь settrans(SQLCA) - приложение запускается.
Но ведь она же прописана там! почему же тогда settrans(SQLCA) без прописывания параметров не работает?
...
Рейтинг: 0 / 0
Связь с базой данных
    #35906603
maxATC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛампочкаНо ведь она же прописана там! почему же тогда settrans(SQLCA) без прописывания параметров не работает?
Как я понял, Вы немного путаете разницу в подключении к БД из среды разработки и самого приложения. Эти соединения к друг другу ни какого равенства не имеют.
...
Рейтинг: 0 / 0
Связь с базой данных
    #35907285
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну вот смотрите: я создаю в библиотеке Powerbuilder примитивную форму с datawindow и приложение, при запуске которого появляется форма и в datawindow тянется таблица БД.
далее - по лекции из того же инета - я должна написать в событии open этой формы:

dw_1.SetTrans(SQLCA)
dw_1.retrieve(),
где dw_1 - то самое datawindow.

И - опять же по этой лекции - при запуске в datawindow я увижу таблицу.
Я получаю при запуске вышеизложенную ошибку.
Тогда я пишу в Open так:

SQLCA.DBMS = "ODBC"
SQLCA.Autocommit = TRUE
SQLCA.DbParm = "ConnectString='DSN=ID97-NSI;UID=nsi;PWD=nsi',CursorScroll='Dynamic'"

dw_1.SetTrans(SQLCA)
dw_1.retrieve()

Приложение запускается, таблица в datawindow выгружается. Но все то, что я тут в SQLCA заношу, прописано в Database profile в powerbuilder.

По поводу dll и ini: они есть и там, откуда билдер запускается, и туда, откуда приложение, я их тоже клала.

Я опять где-то туплю?:)
...
Рейтинг: 0 / 0
Связь с базой данных
    #35907331
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛампочкаТогда я пишу в Open так:

SQLCA.DBMS = "ODBC"
SQLCA.Autocommit = TRUE
SQLCA.DbParm = "ConnectString='DSN=ID97-NSI;UID=nsi;PWD=nsi',CursorScroll='Dynamic'"

dw_1.SetTrans(SQLCA)
dw_1.retrieve()

Приложение запускается, таблица в datawindow выгружается. Но все то, что я тут в SQLCA заношу, прописано в Database profile в powerbuilder.
Так писать и нужно. То, что в "прописано в Database profile в powerbuilder" никакого отношения к вашему приложению не имеет, т.к. например Ваше приложение может запускаться там, где PB вообще не установлен...
...
Рейтинг: 0 / 0
Связь с базой данных
    #35907431
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я блондинко)))
Спасибо!!!
Заставили внимательнее прочитать хелп)
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Связь с базой данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]