anywhere 服务器与客户端怎么配置,能用代码配置的尽量使用代码配置!最好有列程,对于解决问题的例子肯定追加分数!

linleming 2003-11-11 10:39:05
最好发个例子!万分感谢!
...全文
39 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qqjj7758 2003-11-11
  • 打赏
  • 举报
回复
啊?
mittee 2003-11-11
  • 打赏
  • 举报
回复
这个如下:
boolean lb_return
//string ls_syspath,ls_curpath
//功能:实现ODBC自动配置
//2001/05/06
//重新修改于 2003/10
//参数:无
//返回:无
//说明:必须有dbodbc7.dll,dbserv7.dll ,dbctrs7.dll dblgen7.dll,dbnetlib.dll,dbcon7.dll,dbeng7.exe ,dbsrv7.exe 8 个文件存在
//功能:不用安装SQL AnyWhere 7.0系统直接访问数据库
Ulong ul_num
Int answer,answer1,answer2,answer3,answer4
int answer5,ansapp,answer6,answer7,answer8,answer9,answer10,answer11,answer12,answer13,answer14
String ls_driver,ls_start,ls_location,apppath,db_path,odbcstr,ls_start_auto
string ls_svrname='Adaptive Server Anywhere 7.0'


//function ulong GetCurrentDirectoryA(ulong BufferLen,ref string currentdir) Library "Kernel32.dll"
//FUNCTION ulong GetSystemDirectoryA(ref string wdir, ulong buf) LIBRARY "kernel32.dll"
string ls_syspath,ls_currentdir
ls_syspath = space(150)
ls_currentdir = space(150)

GetSystemDirectoryA(ls_syspath,150)
GetCurrentDirectoryA(150,ls_currentdir)
gs_currentdir = ls_currentdir
gs_syspath = ls_syspath
ls_driver=ls_syspath+'\dbodbc7.dll'
ls_start=ls_syspath+'\dbeng7.exe'
if not (FileExists(ls_currentdir+'\dbodbc7.dll') ) or not FileExists(ls_currentdir+'\dbeng7.exe') or not ( FileExists(ls_currentdir+'\dbsrv7.exe')) then
MessageBox("警告信息","系统没有安装"+ls_svrname+"的驱动程序,系统将终止运行!",stopsign!)
lb_return= false
else

//写到系统注册表
answer1=RegistrySet("HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\ODBC DRIVERS",ls_svrname,RegString!,'Installed')
answer2=RegistrySet("HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\"+ls_svrname,'Driver',RegString!,ls_driver)
answer3=RegistrySet("HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\"+ls_svrname,'Setup',RegString!,ls_driver)
// answer=RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources","Crown_dh_Server",RegString!,ls_svrname)
answer4=RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources","YOU_DB_CLIENT",RegString!,ls_svrname)
//注册odbc数据源到当前用户注册表
answer5=RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\YOU_DB_CLIENT","Driver",RegString!,ls_driver)
answer6=RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\YOU_DB_CLIENT","Description",RegString!,"Adaptive Server Anywhere YOUR_DB Client")
answer7=RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\YOU_DB_CLIENT","UID",RegString!,"dba")
answer8=RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\YOU_DB_CLIENT","PWD",RegString!,"sql")
answer9=RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\YOU_DB_CLIENT","EngineName",RegString!,"YOUR_DB_SERVER")
answer10=RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\YOU_DB_CLIENT","CommLinks",RegString!,"TCPIP{}")
answer11=RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\YOU_DB_CLIENT","AutoStop",RegString!,"YES")
answer12=RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\YOU_DB_CLIENT","Debug",RegString!,"NO")
answer13=RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\YOU_DB_CLIENT","DisableMultiRowFetch",RegString!,"NO")
answer14=RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\YOU_DB_CLIENT","Integrated",RegString!,"NO")

if answer1=-1 or answer2=-1 or answer3=-1 or answer4= -1 &
or answer5=-1 or answer6=-1 or answer7=-1 or answer8=-1 &
or answer9=-1 or answer10=-1 or answer11=-1 or answer12=-1 or answer13=-1 or answer14=-1 then
MessageBox("警告信息","应用程序无法设置ODBC DRIVERS ,系统将终止运行!",stopsign!)
lb_return= false
else
lb_return=true
end if

////////////copy files to systempath, such as: c:/winnt/system32 /////
if not FileExists(ls_syspath+'\dbeng7.exe') then
if filecopy(ls_currentdir+"\dbeng7.exe",ls_syspath+"\dbeng7.exe",true)=1 then
else
lb_return= false
end if
end if
if not FileExists(ls_syspath+'\dbsrv7.exe') then
if filecopy(ls_currentdir+"\dbsrv7.exe",ls_syspath+"\dbsrv7.exe",true)=1 then
else
lb_return= false
end if
end if
if not FileExists(ls_syspath+'\dbserv7.dll') then
if filecopy(ls_currentdir+"\dbserv7.dll",ls_syspath+"\dbserv7.dll",true)=1 then
else
lb_return= false
end if
end if
if not FileExists(ls_syspath+'\dbctrs7.dll') then
if filecopy(ls_currentdir+"\dbctrs7.dll",ls_syspath+"\dbctrs7.dll",true)=1 then
else
lb_return= false
end if
end if
if not FileExists(ls_syspath+'\dblgen7.dll') then
if filecopy(ls_currentdir+"\dblgen7.dll",ls_syspath+"\dblgen7.dll",true)=1 then
else
lb_return= false
end if
end if
if not FileExists(ls_syspath+'\dbnetlib.dll') then
if filecopy(ls_currentdir+"\dbnetlib.dll",ls_syspath+"\dbnetlib.dll",true)=1 then
else
lb_return= false
end if
end if
if not FileExists(ls_syspath+'\dbodbc7.dll') then
if filecopy(ls_currentdir+"\dbodbc7.dll",ls_syspath+"\dbodbc7.dll",true)=1 then
else
lb_return= false
end if
end if
if not FileExists(ls_syspath+'\dbcon7.dll') then
if filecopy(ls_currentdir+"\dbcon7.dll",ls_syspath+"\dbcon7.dll",true)=1 then
else
lb_return= false
end if
end if
end if
//destroy n_api32_regocx dbodbc7.dll
return lb_return
---------------------------------------------------
启动服务器端
----------------
string ls_db_server_name,ls_db_client_name

string ls_syspath,ls_currentdir
ls_syspath = space(150)
ls_currentdir = space(150)

GetSystemDirectoryA(ls_syspath,150)
GetCurrentDirectoryA(150,ls_currentdir)
gs_currentdir = ls_currentdir
gs_syspath = ls_syspath

ls_db_server_name = "YOUR_DB_SERVER"
ls_db_client_name = gs_currentdir + "\useself.db"

if run(gs_syspath+'\dbsrv7.exe -c 8m -n'+trim(ls_db_server_name)+' -m"'+trim(ls_db_client_name)+'"') <> 1 then
messagebox("","failed")
end if

752

社区成员

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

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