自动注册ODBC数据源,还需要选择一下数据源当中的数据库名称?

sinkiangscorpio 2003-09-12 03:20:47
ODBC数据源注册完毕后,DNS都已存在,唯一不足的是配置的时候还需要选择数据库名称。如何不需要配置?


integer rc
string dirname,datab,dllname,dbeng
ulong ul_size
ulong ll_buffer = 25

//取得当前路径
ul_size = 100
gs_path = space(ul_size)
GetCurrentDirectoryA(ul_size,gs_path)

datab="c:\lhc.mdb"
dllname="C:\WINNT\System32\ODBCJT32.DLL"

//取得INI文件中“start”小节 “first”的值
rc=profileint("hc.ini","start","first",1)
//rc=1则是初次运行该系统,进行注册
if rc=1 then
// run("regsvr32 d:\lhc\curtmenu.ocx /s")
registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\odbc data sources","lhc",regstring!,"Microsoft Access Driver (*.mdb)")
registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\lhc","dbq",regstring!,datab)//"lhc.db")
registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\lhc","Driver",regstring!,dllname)//"DBODBC7.DLL")
registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\lhc","FIL",regstring!,"MS Access;")
registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\lhc","UID",regstring!,"")
/*设置INI文件中“start”小节的“first=0”,避免下次运行时再次注册数据源*/
setprofilestring("hc.ini","start","first","0")
messagebox("","注册完毕")
end if
...全文
39 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jhl_hong 2003-10-09
  • 打赏
  • 举报
回复
关注,我这两天也在做这个
sinkiangscorpio 2003-10-06
  • 打赏
  • 举报
回复
我试验一下
Awang_126 2003-10-05
  • 打赏
  • 举报
回复
下面是本人写的一个自动连接到DBF文件的自动注册ODBC数据源的程序,且已在PB8中成功运行,你在写程序之前可以先在PB中建一个数据源,然后在注册表中查看需要配置哪些项.希望对你有帮助!
registryset("HKEY_LOCAL_MACHINE\software\odbc\odbc.ini",ls_filename,regstring!,"")
registryset("HKEY_LOCAL_MACHINE\software\odbc\odbc.ini\"+ls_filename,"",regstring!,"")
//创建连接到数据源所需要的参数
registryset("HKEY_LOCAL_MACHINE\software\odbc\odbc.ini\"+ls_filename,"DefaultDir",regstring!,ls_filedir)
registryset("HKEY_LOCAL_MACHINE\software\odbc\odbc.ini\"+ls_filename,"Driver",regstring!,"C:\WINNT\System32\odbcjt32.dll")
registryset("HKEY_LOCAL_MACHINE\software\odbc\odbc.ini\"+ls_filename,"DriverId",ReguLong!,533)
registryset("HKEY_LOCAL_MACHINE\software\odbc\odbc.ini\"+ls_filename,"FIL",regstring!,"dBase 5.0")
registryset("HKEY_LOCAL_MACHINE\software\odbc\odbc.ini\"+ls_filename,"SafeTransactions",ReguLong!,0)
registryset("HKEY_LOCAL_MACHINE\software\odbc\odbc.ini\"+ls_filename,"UID",regstring!,"")
registryset("HKEY_LOCAL_MACHINE\software\odbc\odbc.ini\"+ls_filename+"\Engines","",regstring!,"")
registryset("HKEY_LOCAL_MACHINE\software\odbc\odbc.ini\"+ls_filename+"\Engines\Xbase","",regstring!,"")
registryset("HKEY_LOCAL_MACHINE\software\odbc\odbc.ini\"+ls_filename+"\Engines\Xbase","CollatingSequence",regstring!,"ASCII")
registryset("HKEY_LOCAL_MACHINE\software\odbc\odbc.ini\"+ls_filename+"\Engines\Xbase","Deleted",RegBinary!,"1")
registryset("HKEY_LOCAL_MACHINE\software\odbc\odbc.ini\"+ls_filename+"\Engines\Xbase","ImplicitCommitSync",regstring!,"")
registryset("HKEY_LOCAL_MACHINE\software\odbc\odbc.ini\"+ls_filename+"\Engines\Xbase","PageTimeout",ReguLong!,600)
registryset("HKEY_LOCAL_MACHINE\software\odbc\odbc.ini\"+ls_filename+"\Engines\Xbase","Statistics",RegBinary!,"0")
registryset("HKEY_LOCAL_MACHINE\software\odbc\odbc.ini\"+ls_filename+"\Engines\Xbase","Threads",ReguLong!,3)
registryset("HKEY_LOCAL_MACHINE\software\odbc\odbc.ini\"+ls_filename+"\Engines\Xbase","UserCommitSync",regstring!,"Yes")
chenzhenyi 2003-10-04
  • 打赏
  • 举报
回复
注册值没有加路径的原因?
handi 2003-09-27
  • 打赏
  • 举报
回复
mdb可以不建立数据源 dsn的, 直接用mdb文件以及路径进行连接
sinkiangscorpio 2003-09-27
  • 打赏
  • 举报
回复
我当然注册一个了,但是我还必须得手选一次才行
rogery 2003-09-20
  • 打赏
  • 举报
回复
唯一不足的是配置的时候还需要选择数据库名称?

你要注册几个?
sinkiangscorpio 2003-09-16
  • 打赏
  • 举报
回复
registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\lhc","dbq",regstring!,datab)//"lhc.db")
已经指定了
rogery 2003-09-13
  • 打赏
  • 举报
回复
指定数据库名

680

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder API 调用
社区管理员
  • API 调用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧