powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Список OLEDB провайдеров
2 сообщений из 2, страница 1 из 1
Список OLEDB провайдеров
    #37133209
_Drive_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго дня,

А как получить список OLEDB провайдеров .. типа как в окне (PB10) Database Profile при создании (редактировании) профиля DBMS= OLE Microsoft OLE DB. И как получить список NameSpace при редактировании профиля DBMS=ADO Microsoft ADO .NET
Заказчик поставил задачу чтобы приложение умело коннектиться к разным БД (ASE12 и MSSQL2008)
...
Рейтинг: 0 / 0
Список OLEDB провайдеров
    #37134991
_Drive_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот .. поискал, нашел, кому интересно смотрите..

Пишется файл (обязательно .CPP)
#include <atlbase.h>
#include <atldbcli.h>

extern "C"
long WINAPI pbOLEDBProviders (LPSTR lpProviders[], long ArraySize)
{
long ll_cnt = 0;
CoInitialize(NULL);
CEnumerator rs;
rs.Open();
while (rs.MoveNext() == S_OK && ll_cnt < ArraySize) {
if (rs.m_nType == 1) {
wcstombs((CHAR*)lpProviders[ll_cnt],(OLECHAR*)rs.m_szName,255);
ll_cnt++;
}
}
CoUninitialize();
return ll_cnt;
};

Вызов и определение в PB 10.5:
function long pbOLEDBProviders( ref string Providers[], long n) LIBRARY "pbusr32.dll" alias for "pbOLEDBProviders;Ansi"

string is_OLEDBProvider[]
long n, i, m
for n = 1 to 100
is_OLEDBProvider[n] = Space(255)
next
n = pbOLEDBProviders(is_OLEDBProvider, n)
for i = 1 to n
ddlb_provider.AddItem(is_OLEDBProvider[i])
next

вот как то так ...

Остался вопрос как получить список Namespace для ADO .NET
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Список OLEDB провайдеров
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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