hur.cn - 华软网

 热门搜索

怎么用pb编写程序自动创建ODBC数据源

  作者:未知    来源:网络    更新时间:2019/7/30
怎么编写PB程序,有一个ACCES数据库,在打开程序前自动创建ODBC数据源连接到数据库啊.
------华软网友回答------
1.首先注册这个数据源
2、在pb的应用里连接这个数据库
------华软网友回复------
创建数据源其实就是在注册表中注册一些信息

你能够先在你自己的电脑上手工创建好,
然后打开注册表
 HKEY_LOCAL_MACHINE ---- SOFTWARE --- ODBC ---ODBC.INI
中能够看到你适才创建的数据源,这样你就知道程序启用的时候该在注册表中做些什么操作了
最简单的,先把数据源的注册表信息删除,然后在重新给他创建一便,
OK 了!


------华软网友回复------
registryget('HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\localprint' ," DBQ",RegString!,ls_dbname)
------华软网友回复------
localprint为odbc名称
------华软网友回复------
关于动态注册ASA数据库ODBC数据源 
 
//************************************************************//
// 函数名: // 
// 功能: 主要是根据传入的库资料名,自动完成ODBC的配置 //
// 一资料名在ODBC中注册数据源 //
// 输入: // 
// ls_filename 资料名称(主要是库资料) //
// ls_dir 资料所在的目录 //
// 前往值: //
// 1 表示自动配置成功 //
// 0 表示自动配置失利 //
// 设计者: Adamswater //
// 完成时间: 2003年10月 //
//************************************************************//
integer li_return //前往值
string ls_filename
integer li_rtn
string ls_root
string ls_root_table

ls_filename = as_filename + ".db"//获得数据库资料名字


ls_root = "HKEY_LOCAL_MACHINE\software\odbc\odbc.ini"
ls_root_table = ls_root + "\" + as_filename
li_return = 1
li_rtn = registryset(ls_root,as_filename,regstring!,"")
if li_rtn= - 1 then
li_return = 0
end if
li_rtn = registryset(ls_root_table,"AutoStop",regstring!,"Yes")
if li_rtn= - 1 then
li_return = 0
end if
li_rtn = registryset(ls_root_table,"Compress",regstring!,"NO")
if li_rtn= - 1 then
return 0
end if
li_rtn = registryset(ls_root_table,"DatabaseFile",regstring!,as_dir + "\"+ls_filename)
if li_rtn= - 1 then
li_return = 0
end if
li_rtn = registryset(ls_root_table,"DatabaseName",regstring!,as_filename)
if li_rtn= - 1 then
li_return = 0
end if
li_rtn = registryset(ls_root_table,"Debug",regstring!,"NO")
if li_rtn= - 1 then
li_return = 0
end if
li_rtn = registryset(ls_root_table,"DisableMultiRowFetch",regstring!,"NO")
if li_rtn= - 1 then
li_return = 0
end if
li_rtn = registryset(ls_root_table,"Driver",regstring!,as_dir + "\"+"dbodbc8.dll")
if li_rtn= - 1 then
li_return = 0
end if
li_rtn = registryset(ls_root_table,"Start",regstring!,as_dir + "\"+"dbeng8.exe -d -c8m")
if li_rtn= - 1 then
li_return = 0
end if
li_rtn = registryset(ls_root_table,"EngineName",regstring!,"ndjwglxt")
if li_rtn= - 1 then
li_return = 0
end if
li_rtn = registryset(ls_root_table,"Integrated",regstring!,"No")
if li_rtn= - 1 then
li_return = 0
end if
li_rtn = registryset(ls_root_table,"PWD",regstring!,"jwglxt")
if li_rtn= - 1 then
li_return = 0
end if
li_rtn = registryset(ls_root_table,"UID",regstring!,"jwglxt")
if li_rtn= - 1 then
li_return = 0
end if
return li_return  

------华软网友回复------
http://www.pbhero.com/bbs/dispbbs.asp?boardID=3&ID=87&page=1

动态注册odbc数据源之Access
动态注册odbc之ASA篇
------华软网友回复------
给的是正版的
:)      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。