自动注册数据源,odbc

自动注册数据源,odbc

//获取程序所在目录
String ls_curdir
//ls_curdir=Space(256)
为字符缓冲区开辟内存空间
//GetCurrentDirectoryA(256,ls_curdir)
ls_curdir = GetCurrentDirectory()
gs_path = ls_curdir
string ls_ob
Registryget("HKEY_LOCAL_MACHINE/Software","ODBC", RegString!, ls_ob)
if ls_ob = '' then
registryset("HKEY_LOCAL_MACHINE/Software/",'odbc',regstring!,'')
end if
registryset("HKEY_LOCAL_MACHINE/Software/odbc",'odbcinst.ini',regstring!,'')

ulong ul_num
Int Answer,Answer1,Answer2,Answer3,Answer4,Answer5,Answer6,Answer7,ansApp
string ls_driver,ls_start,ls_location,apppath,db_path,db_name,ODBCStr,ds_name,ls_dbpath
//设置Adaptive Server Anywhere 8.0的驱动程序路径
ls_Location =ls_curdir
ls_dbpath=ls_curdir+"/gjcx.db"
//判断Adaptive Server Anywhere 8.0的驱动程序是否正确安装
ls_Driver=ls_Location+"/dbodbc8.dll"
ls_Start=ls_Location+"/dbeng8.exe"
//IF Not (FileExists(ls_Driver) AND FileExists(ls_Start)) Then
//MessageBox("错误!","系统中没有安装Adaptive Server Anywhere 7.0"+&
//"的驱动程序,系统将终止运行!",StopSign!)
//Return
//End IF
//设置ODBC/ODBCINST.INI/ODBC DRIVERS
Answer=RegistrySet("HKEY_LOCAL_MACHINE/Software/ODBC/ODBCINST.INI"+&
"/ODBC Drivers","Adaptive Server Anywhere 8.0", RegString!, "Installed")
IF Answer = -1 Then
MessageBox("错误!","应用程序无法设置ODBC/ODBCINST.INI/"+&
"ODBC DRIVERS,系统将终止运行",Information!)
Return
End if
//设置ODBC/ODBCINST.INI/
Answer1=RegistrySet("HKEY_LOCAL_MACHINE/Software/ODBC/ODBCINST."+&
"Adaptive Server Anywhere 8.0", "CPTimeout", RegString!, "not pooled")
Answer2=RegistrySet("HKEY_LOCAL_MACHINE/Software/ODBC/ODBCINST."+&
"INI/Adaptive Server Anywhere 8.0", "Driver", RegString!,ls_Driver)
Answer3=RegistrySet("HKEY_LOCAL_MACHINE/Software/ODBC/ODBCINST."+&
"INI/Adaptive Server Anywhere 8.0", "Setup", RegString!,ls_Driver)
IF Answer1 = -1 OR Answer2 = -1 OR Answer3 = -1 Then
MessageBox("错误!","应用程序无法设置ODBC/ODBCINST.INI,"+&
"系统将终止运行!",Information!)//程序中不折行
Return
End if
db_path = ""+ls_dbpath+""//设置数据库路径及文件名
db_name = "gjcx"               //设置数据库名称
ds_name = "gjcx"                     //设置ODBC数据源名

//设置ODBC DATA SOURCE名称
Answer=RegistrySet("HKEY_LOCAL_MACHINE/Software/ODBC/ODBC.ini/"+&
"ODBC Data Sources", ds_name, RegString!, "Adaptive Server Anywhere 8.0")
Answer1=RegistrySet("HKEY_LOCAL_MACHINE/Software/ODBC/ODBC.ini/"+&
ds_name,"driver", Regstring!, ls_Driver)
Answer2=RegistrySet("HKEY_LOCAL_MACHINE/Software/ODBC/ODBC.ini/"+&
ds_name,"start", Regstring!, ls_Start)
Answer3=RegistrySet("HKEY_LOCAL_MACHINE/Software/ODBC/ODBC.ini/"+&
ds_name,"autostop", Regstring!, "yes")
Answer4=RegistrySet("HKEY_LOCAL_MACHINE/Software/ODBC/ODBC.ini/"+&
ds_name,"DataBaseFile", Regstring!, db_path)
Answer5=RegistrySet("HKEY_LOCAL_MACHINE/Software/ODBC/ODBC.ini/"+&
ds_name,"DataBaseName", Regstring!, db_name)
Answer6=RegistrySet("HKEY_LOCAL_MACHINE/Software/ODBC/ODBC.ini/"+&
ds_name,"PWD", Regstring!, "sql")
Answer7=RegistrySet("HKEY_LOCAL_MACHINE/Software/ODBC/ODBC.ini/"+&
ds_name,"UID", Regstring!, "dba")
IF Answer = -1 Then
MessageBox("错误!","应用程序无法设置ODBC DATA SOURCE名称,"+&
"系统将终止运行!",Information!) //程序中不折行
Return
End if
//====================================================================
// 设置ODBC.ini细节
//====================================================================
answer1 = RegistrySet("HKEY_current_user/software/odbc/odbc.ini/"+&
ds_name,"driver", regstring!, ls_driver)
answer2 = RegistrySet("HKEY_current_user/software/odbc/odbc.ini/"+&
ds_name,"start", regstring!, ls_start)
answer3 = RegistrySet("HKEY_current_user/software/odbc/odbc.ini/"+&
ds_name,"autostop", regstring!, "yes")
answer4 = RegistrySet("HKEY_current_user/software/odbc/odbc.ini/"+ds_name,&
"DataBaseFile", regstring!, db_path)
answer5 = RegistrySet("HKEY_current_user/software/odbc/odbc.ini/"+ds_name,&
"DataBaseName", regstring!, db_name)
answer6 = RegistrySet("HKEY_current_user/software/odbc/odbc.ini/"+ds_name,&
" WD", regstring!, "sql")
answer7 = RegistrySet("HKEY_current_user/software/odbc/odbc.ini/"+ds_name,&
"UID", regstring!, "dba")
If answer1 = -1 Or answer2 = -1 Or answer3 = -1 Or &
answer4 = -1 Or answer5 = -1 Or answer6 = -1 Or answer7 = -1 Then
MessageBox("错误!","应用程序无法设置ODBC.INI细节,"+&
  "系统将终止运行!",information!)
Return
End If
odbcstr = 'dsn=' + ds_name +';databasename=' + db_name + ';databasefile=' + db_path
sqlca.DBMS = "ODBC"
sqlca.Database = db_name
sqlca.DBParm = "c"
CONNECT Using sqlca;
If sqlca.SQLCode = -1 Then
MessageBox("数据库连接失败", "不能连接到数据库上,请检查。"+&
  "~r~n出错的详细原因为:"+sqlca.SQLErrText)
Halt
End If
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值