hur.cn - 华软网

 热门搜索

在程序里自动配置odbc连接ASA数据库

  作者:未知    来源:网络    更新时间:2019/5/10
我已经用pb9做了个ASA数据库的客户端应用程序,请问:ODBC数据库怎样实现用代码自动连接,而不用手动配置?
100分,希望大侠能救我!!
------华软网友回答------
http://community.csdn.net/Expert/topic/5232/5232025.xml?temp=6.487674E-02
http://community.csdn.net/Expert/topic/4919/4919819.xml?temp=.8773767
http://community.csdn.net/Expert/topic/4700/4700607.xml?temp=.534054
看了适当修改,应该能够了
------华软网友回复------
下面是我参照网上的一个改的,然则连不上数据库,提醒毛病:未发现数据源名称而且未指定默许驱动程序
急死我了!!!

integer rc
string ls_dir,is_dbfile,is_datasource
ulong ls_buf
is_datasource="student"
ls_buf=256
ls_dir=space(ls_buf)
GetCurrentdirectoryA(ls_buf,ls_dir)
is_dbfile=ls_dir+'\student.db'
rc=profileint("first.ini","start","first",0)

if rc=1 then
if RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\"+"Adaptive Server Anywhere 8.0","Driver",RegString!,"dbodbc8.dll")=1 then
messagebox("祝贺你","数据源已注册成功!") 
end if
RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\"+"Adaptive Server Anywhere 8.0","Setup",RegString!,"dbodbc8.dll")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources","student",RegString!,"Adaptive Server Anywhere 8.0")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"Driver",RegString!,"dbodbc8.dll")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"UID",RegString!,"dba")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"PWD",RegString!,"sql")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"DatabaseFile",RegString!,is_dbfile)
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"AutoStop",RegString!,"Yes")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"Integrated",RegString!,"No")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"DatabaseName",RegString!,"student.db")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"Debug",RegString!,"No")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"DisableMultiRowFetch",RegString!,"No")
setprofilestring("first.ini","start","first","0")
end if


// Profile student
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=student;UID=;PWD='"
connect;

if sqlca.sqlcode<>0 then
messagebox("Error","wrong!!!!!               "+sqlca.sqlerrtext)
return
end if

//打开登录窗口(应用程序的第一个运行窗体)
open(login)

------华软网友回复------
你把它写成一个函数
------华软网友回复------
我现在通过修改注册表的方法基本搞定这个问题了
现在我想向大侠门讨教:我改用什么样的方法获得装置程序中的装置路径呢?,由于我的注册表要用到那个路径啊      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。