帮个忙,如何为一个系统写一个配置数据库连接,有没有通用的模块呢,还有就是配置文件是如何产生的呢.
我现在写好了一个程序,因为要用在客户端上面,客户端没有数据库,现在想通过odbc连接,可是不会写配置sql server2000数据库的代码,请问如何写,有没有原代码,还有就是那个配置文件是如何产生的呢. 问题点数:0、回复次数:6Top
1 楼aichangfeng(PowerBuilder/VB.NET)回复于 2005-06-04 11:59:11 得分 0
就在控制面板里將SQLCA的配置語句copy出來就OK了Top
2 楼princelily(百合)回复于 2005-06-04 18:22:34 得分 0
我在你另外一篇文章中,给你解答了。不知道你满意否?Top
3 楼jxtquber(shouting)回复于 2005-06-05 18:23:38 得分 0
可以通过写入注册表来进行,ODBC和SQL server都可以经过写入注册表来!Top
4 楼dalianyilan(嘘嘘兔)回复于 2005-06-09 11:26:27 得分 0
也可以用SQL SERVER的专用接口Top
5 楼lcc_2004(我爱程序开发)回复于 2005-06-16 16:31:08 得分 0
PB10就没有SQL SERVER的专用接口了!!Top
6 楼PHDYCN(飘忽的云)回复于 2005-06-23 19:53:31 得分 0
// 本地PB自带数据注册ODBC方法
long li_Registry
li_Registry = This.uf_registry( ) //这个函数见后面
If li_Registry = - 1 Then
Messagebox( '提示:', '注册数据源失败!' )
return
Else
lnv_connectserv = Create using "n_finance_connectservice"
If lnv_connectserv.of_ConnectDB ( ) = 0 Then
/* Open MDI frame window */
// Open ( w_main )
// If gs_login = 'true' Then
// //Open ( w_genapp1_frame )
// Open ( w_finance_frame )
// End If
Open ( w_finance_frame )
End if
Destroy lnv_connectserv
End If
-----------------------------------
finance 为需要定义的ODBC数据库名
string ls_Driver, ls_DriverAlready, ls_Path, ls_PathAlready
string ls_Sys[]
ls_sys[1]="HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Adaptive Server Anywhere 8.0"
ls_sys[2]="HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources"
ls_sys[3]="HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\finance"
ulong ll_Rtn
//程序注册数据源
//1 检查驱动程序是否已经安装
ll_Rtn = RegistryGet(ls_sys[1], "Driver", RegString!, ls_driver)
If ll_Rtn = -1 Then
MessageBox( '错误提示:','数据库驱动程序没有安装!' )
Return -1
End If
//取得当前路径
ls_Path = space( 256 )
ulong ls_SIze = 256
ll_Rtn = GetCurrentDirectoryA( ls_Size,ls_Path )
If ll_Rtn < 1 Then
Return -1
End If
ls_Path = ls_Path + '\finance.db'
If Not FileExists( ls_Path ) Then
MessageBox( '错误提示','程序路径下的数据库文件丢失!' )
Return -1
End If
//2 检查数据源是否已经注册
RegistryGet( ls_Sys[2],"finance",Regstring!,ls_DriverAlready )
RegistryGet( ls_Sys[3],"DatabaseFile",Regstring!,ls_PathAlready )
If ( ls_DriverAlready = 'Adaptive Server Anywhere 8.0' ) and &
( ls_PathAlready = ls_Path ) Then
Return 1
End If
// 注册数据源
ll_Rtn=RegistrySet(ls_sys[2], "finance" , RegString!, 'Adaptive Server Anywhere 8.0')
If ll_Rtn = - 1 Then Return -1
ll_Rtn=RegistrySet(ls_sys[3], "AutoStop" , RegString!, 'Yes')
If ll_Rtn = - 1 Then Return -1
ll_Rtn=RegistrySet(ls_sys[3], "DatabaseFile" , RegString!, ls_Path)
If ll_Rtn = - 1 Then Return -1
ll_Rtn=RegistrySet(ls_sys[3], "Driver" , RegString!, ls_driver )
If ll_Rtn = - 1 Then Return -1
//ll_Rtn=RegistrySet(ls_sys[3], "Integrated" , RegString!, 'No')
//If ll_Rtn = - 1 Then Return -1
ll_Rtn=RegistrySet(ls_sys[3], "PWD" , RegString!, 'sql')
If ll_Rtn = - 1 Then Return -1
ll_Rtn=RegistrySet(ls_sys[3], "UID" , RegString!, 'dba')
If ll_Rtn = - 1 Then Return -1
//ll_Rtn=RegistrySet(ls_sys[3], "Start" , RegString!, 'dbeng8.exe -c 8m')
//If ll_Rtn = - 1 Then Return -1
return 1
Top




