powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / ODBC диалог
9 сообщений из 9, страница 1 из 1
ODBC диалог
    #36597248
sboyko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Есть ПБ105+Виста
Хочу копировать данные через pipe line или DW данные из базы в базу. Есть ли на примете ODBC диалог, который позволяет выбирать нужные БД из списка в реестре( с подробностями которые бы помогали сделать выбор не специалисту) как источник так пункт назначения?
...
Рейтинг: 0 / 0
ODBC диалог
    #36598368
sboyko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нашел редактор реестра в примере приложения для 10.5 - буду копать дальше.
...
Рейтинг: 0 / 0
ODBC диалог
    #36599007
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
public function integer getodbc (string odbc_name);//Функция возвращает наличие ODBC источника
//При его отсутствии создает
string ls_path_mdb
string ls_odbc
string ls_path_mdw
if odbc_mode_user then ls_odbc='HKEY_LOCAL_MACHINE' else ls_odbc='HKEY_CURRENT_USER'
if RegistryGet(ls_odbc+"\Software\ODBC\ODBC.INI\"+odbc_name, &
"DBQ", RegString!, ls_path_mdb)= 1  then
//есть источник
else
	//нет источника - создаем
	string ls_out_path
	long i
ls_out_path=is_win
//for i = 1  to len(is_win)
//		ls_out_path+=Mid(is_win,i, 1 )
//		if Mid(ls_out_path,i, 1 )="\" then
//			ls_out_path+=Mid(is_win,i, 1 )
//		end if	
//	next	
ls_path_mdb=ProfileString(inifile,"Connect","PathBD",'')
ls_path_mdw=ProfileString(inifile,"Connect","PathMDW",'')
RegistrySet(ls_odbc+"\Software\ODBC\ODBC.INI\"+odbc_name, &
"Driver", RegString!, ls_out_path+"\System32\odbcjt32.dll")
RegistrySet(ls_odbc+"\Software\ODBC\ODBC.INI\"+odbc_name, &
"DBQ", RegString!,ls_path_mdb )
RegistrySet(ls_odbc+"\Software\ODBC\ODBC.INI\"+odbc_name, &
"SystemDB", RegString!,ls_path_mdw )
RegistrySet(ls_odbc+"\Software\ODBC\ODBC.INI\"+odbc_name, &
"DriverId", ReguLong!,  25 )
RegistrySet(ls_odbc+"\Software\ODBC\ODBC.INI\"+odbc_name, &
"FIL", RegString!, "MS Access;")
RegistrySet(ls_odbc+"\Software\ODBC\ODBC.INI\"+odbc_name, &
"SafeTransactions", ReguLong!,  0 )
RegistrySet(ls_odbc+"\Software\ODBC\ODBC.INI\"+odbc_name, &
"UID", RegString!, "")
RegistrySet(ls_odbc+"\Software\ODBC\ODBC.INI\"+odbc_name, &
"ExtendedAnsiSQL", RegBinary!, blob(char( 1 )) )

RegistrySet(ls_odbc+"\Software\ODBC\ODBC.INI\"+odbc_name+"\Engines\Jet", &
"ImplicitCommitSync", RegString!, "")
RegistrySet(ls_odbc+"\Software\ODBC\ODBC.INI\"+odbc_name+"\Engines\Jet", &
"MaxBufferSize", ReguLong!,  2048 )
RegistrySet(ls_odbc+"\Software\ODBC\ODBC.INI\"+odbc_name+"\Engines\Jet", &
"PageTimeout", ReguLong!,  5 )
RegistrySet(ls_odbc+"\Software\ODBC\ODBC.INI\"+odbc_name+"\Engines\Jet", &
"Threads", ReguLong!,  3 )
RegistrySet(ls_odbc+"\Software\ODBC\ODBC.INI\"+odbc_name+"\Engines\Jet", &
"UserCommitSync", RegString!, "Yes")

RegistrySet(ls_odbc+"\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources", &
odbc_name, RegString!, "Driver do Microsoft Access (*.mdb)")

end if
return  0 
end function
...
Рейтинг: 0 / 0
ODBC диалог
    #36599014
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно, не совсем то, но мысль понятна:)
...
Рейтинг: 0 / 0
ODBC диалог
    #36599436
sboyko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spas2001Конечно, не совсем то, но мысль понятна:)
спасибо большое!!
буду пробовать...
...
Рейтинг: 0 / 0
ODBC диалог
    #36599458
maxATC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sboyko,

External

Код: plaintext
1.
2.
3.
4.
5.
FUNCTION integer SQLAllocEnv(ref long henv) LIBRARY "odbc32.dll"
FUNCTION integer SQLFreeEnv(long henv) LIBRARY "odbc32.dll"
FUNCTION integer SQLDataSources &
(long henv, integer idirection, ref string szdsn, int idsnmax, &
ref integer idsn, ref string szdesc, integer idescmax, ref integer idesc) &
library "odbc32.dll"

Это в конструкторе ddlb_1

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
long ll_henv
string ls_dsn, ls_desc
integer li_direction, li_dsnmax, li_dsnlen, li_descmax, li_desclen, li_rc
integer li_length =  255 

ls_dsn = Space(li_length)
li_dsnmax = li_length
ls_desc = Space(li_length)
li_descmax = li_length

IF SQLAllocEnv(ll_henv) = - 1  THEN
    MessageBox("SQLAllocEnv", "FAILURE")
ELSE
    li_direction =  1 
    DO WHILE SQLDataSources &
        (ll_henv, li_direction, ls_dsn, li_dsnmax, li_dsnlen, &
         ls_desc, li_descmax, li_desclen) =  0 
         ddlb_1.AddItem(ls_dsn + "  [" + ls_desc + "]")
    LOOP
    SQLFreeEnv(ll_henv)
END IF
...
Рейтинг: 0 / 0
ODBC диалог
    #36599537
sboyko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxATC,
спасибо, правда пока не до конца разобрался...
...
Рейтинг: 0 / 0
ODBC диалог
    #36653276
PAVe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sboyko,

Privet izveni na moi ploxo rysski s moevo li4novo opita
Pipelines jelatelno ne polzivatsa lytshe 4eriz ODBC
na xydoi konets mojna poprobivati Mobilink...no toje
ne sovetyetsa.
...
Рейтинг: 0 / 0
ODBC диалог
    #36656377
sboyko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PAVesboyko,

Privet izveni na moi ploxo rysski s moevo li4novo opita
Pipelines jelatelno ne polzivatsa lytshe 4eriz ODBC
na xydoi konets mojna poprobivati Mobilink...no toje
ne sovetyetsa.

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


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