Есть ли способ подключиться к базе данных ASA с помощью Powerbuilder без развертывания драйверов ODBC или OLEDB? - PullRequest
2 голосов
/ 25 августа 2010

То, что я хочу, - это приложение Powerbuilder, работающее в Windows и работающее с компакт-диска (или другого внешнего диска), которое может считывать данные из базы данных ASA, файл которой находится на том же диске.Но я хочу сделать это без развертывания драйверов ODBC или OLEDB.То есть я не хочу копировать файлы драйвера на жесткий диск клиента или добавлять какие-либо записи реестра.Возможно ли это?

В документации Powerbuilder и ASA упоминается что-то о «подключениях к встроенной базе данных», и предположительно вы можете указать исполняемый файл для сервера базы данных в строке подключения.Но это не помогло.

Ответы [ 3 ]

2 голосов
/ 26 августа 2010

Когда вы пытаетесь подключиться к базе данных, и для свойства СУБД объекта транзакции указано «ODBC», PowerBuilder захочет начать загрузку драйверов и поискать источник данных ODBC для получения информации о драйвере.

Единственное, что я могу попробовать - это создать все записи реестра во время выполнения и указать их на файлы драйверов и файл .db на компакт-диске. Возможно, вам уже будет проще с файловым источником данных на компакт-диске, но вам все равно потребуется создать записи реестра для настройки сведений о драйвере. Затем вы можете удалить все эти записи при отключении / закрытии приложения. Я не думаю, что вы можете сделать это полностью без записей в реестре.

1 голос
/ 10 октября 2010

Вам необходимо развернуть драйвер ODBC, вот как PB общается с SQL Anywhere.Вам не нужно создавать запись DNS, вы можете использовать соединение без DNS.

http://www.carlprothman.net/Default.aspx?tabid=90#ODBCDriverForSybaseSQLAnywhere

0 голосов
/ 08 октября 2010

Так как вы не получаете много отзывов, я думал, что предложу это. Я сделал это с помощью MS Access, но к MS Access подключиться гораздо проще, и большинство компьютеров с Windows могут подключаться через DSN на основе файлов.

Вы определенно хотите избегать ODBC, если вообще возможно искать DSN на основе файлов в ASA, но, поскольку это скорее полноценный механизм базы данных, я сомневаюсь, что это возможно без ODBC, а настройка ODBC через записи реестра возможна, но не интересно вообще, если ваши клиенты работают под разными версиями Windows.

Вот строка подключения, которую я использовал для чего-то похожего, но MS Access. Я выбрал Access именно по этой причине, это было для программы RPG, и я хотел базу данных, но не хотел связываться с ODBC.

Образец:

"Connectstring = 'Driver = {Microsoft Access Driver (* .Mdb)}; UID = ABC; PWD = 123; Dbq = C: \ Program Files \ Mafia Manager \ mm.mdb; Exclusive = 1; ' "

...