Гость
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / ODBC диалог / 9 сообщений из 9, страница 1 из 1
25.04.2010, 20:39
    #36597248
sboyko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC диалог
Добрый день!
Есть ПБ105+Виста
Хочу копировать данные через pipe line или DW данные из базы в базу. Есть ли на примете ODBC диалог, который позволяет выбирать нужные БД из списка в реестре( с подробностями которые бы помогали сделать выбор не специалисту) как источник так пункт назначения?
...
Рейтинг: 0 / 0
26.04.2010, 13:48
    #36598368
sboyko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC диалог
нашел редактор реестра в примере приложения для 10.5 - буду копать дальше.
...
Рейтинг: 0 / 0
26.04.2010, 17:21
    #36599007
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC диалог
Можно так
Код: 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
26.04.2010, 17:22
    #36599014
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC диалог
Конечно, не совсем то, но мысль понятна:)
...
Рейтинг: 0 / 0
26.04.2010, 21:42
    #36599436
sboyko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC диалог
spas2001Конечно, не совсем то, но мысль понятна:)
спасибо большое!!
буду пробовать...
...
Рейтинг: 0 / 0
26.04.2010, 21:57
    #36599458
maxATC
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC диалог
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
26.04.2010, 23:10
    #36599537
sboyko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC диалог
maxATC,
спасибо, правда пока не до конца разобрался...
...
Рейтинг: 0 / 0
27.05.2010, 15:43
    #36653276
PAVe
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC диалог
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
28.05.2010, 21:41
    #36656377
sboyko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC диалог
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
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / ODBC диалог / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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