Пул подключений к базе данных PowerBuilder? Как - PullRequest
2 голосов
/ 22 сентября 2008

Как создать пул соединений с базой данных в PowerBuilder (v9 +) с ...

  • ... ODBC
  • ... SQL Server?
  • ... Oracle

Ответы [ 6 ]

3 голосов
/ 26 сентября 2008

С таким риском саморекламы вы можете начать работать с Oracle:

Если вы перейдете к Руководствам Sybase (интуитивно понятно, а?), Перейдите к руководству по подключению к вашей базе данных для той версии, которую вы просматриваете, поиск «пула» может оказаться продуктивным. Глядя на мою локальную копию для 11.5, я вижу ссылки на SNC (MS) и ODBC.

Что касается "неродных" подходов, я предполагаю, что Джейсон, возможно, имел в виду пул соединений с сервером приложений, а затем передавал ваши данные через это.

Удачи.

2 голосов
/ 22 сентября 2008

К сожалению, по крайней мере с PB 9, вы не можете изначально . PB всегда был двухуровневым инструментом разработки. Однако, если вы используете поддержку WebServices, запущенную в PB 9, вы можете обойти это ограничение, вызвав WebServices на сервере приложений, подключенном к пулу. Я еще не играл с PB 11.5. Там может быть по-другому.

Джейсон

1 голос
/ 15 октября 2008

Я не верю этому

CnnPool = 'Да'

официально поддерживается в PB 9.

Я не уверен, что большинство разработчиков PB знают, как обращаться с пулами.

Подход ASP.Net прост и понятен, по крайней мере, по сравнению с моим опытом работы с некоторыми серверами приложений Java. (Пожалуйста, не начинайте огненную войну с этим последним предложением, я сказал, что у меня получилось).

Я написал «серверное» приложение, которое получило хранилища данных PB, которые были выполнены для ds.retrieve () и ds.update (), и передало данные обратно клиентскому приложению PB. Это был способ объединиться. Приложение сервера будет открывать несколько соединений ... Я сделал это в PB 8 (где-то есть книга). Я бы не рекомендовал этот подход ... много кода.

В PB 11.x есть несколько интересных новых подходов, которые вы должны рассмотреть.

1 голос
/ 01 октября 2008

В PowerBuilder версии 9 и выше с использованием собственного драйвера Oracle и подключении к базам данных Oracle 9i и выше вы можете указать Oracle поддерживать соединения в пуле с помощью CnnPool = 'Yes' параметра базы данных:

Дополнительная информация из документов PB 11.1: http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.dc33820_1110/html/dbparm/BJEBJADI.htm

0 голосов
/ 19 мая 2017

/ * Объявить как переменную экземпляра * /

n_to_server i_to_server // Объект транзакции, альтернативный SQLCA, i_to_server - это пользовательское имя, как и n_to_server

/ * Неустойчивый объект соединения * /

i_to_server = CREATE транзакция // Было объявлено в переменных экземпляра из n_to_server

i_to_server.DBMS = "ODBC"

i_to_server.AutoCommit = TRUE

i_to_server.DBParm = "ConnectString = 'DSN = SourceServer; UID = имя пользователя; PWD = пароль'"

ПОДКЛЮЧИТЬ ИСПОЛЬЗОВАТЬ i_to_server;

SELECT @@ trancount INTO: li_TranCount

ОТ системного объекта

ГДЕ name = 'sysobjects'

USING i_to_server; // Должно иметь ИСПОЛЬЗОВАНИЕ в транзакциях, которые не используют SQLCA (собственная транзакция)

0 голосов
/ 23 сентября 2008

@ Джейсон Фогель ...

Вы сказали, что я не могу сделать изначально ... так что есть альтернативный способ сделать это?

...