用pb8和sql anywhere5.0做了一个系统,想放在一个未安装sqlanywhere的机器上运行,该如何处理??

gaosamuel
业界专家认证
2003-09-19 06:19:32
用pb8和sql anywhere5.0做了一个系统,想放在一个未安装sqlanywhere的机器上运行,该如何处理??
我在这台机器的注册表中的HEKEY_CURRENT_USER\SOFTWARE\ODBC\ODBC.INI写了一个新项lysis.在这个新项下写了如下内容:
AutoStop yes
DatabaseFile d:\lysis.db
DatabhaseName lysis
Driver d:\wod50t.dll
PWD sql
Start d:\dbeng50.exe
UID dba


在程序的调用处是这样写的:
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=lySis;UID=dba;PWD=sql'"

请问该如何解决?我就是不想在这台机器上装sql anywhere!!!!
谢谢,分不够再加!
...全文
58 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
gaosamuel 2003-09-20
  • 打赏
  • 举报
回复
谢谢
klbt 2003-09-20
  • 打赏
  • 举报
回复
不行就用PBD模式编译试试。
zhaodanglin 2003-09-20
  • 打赏
  • 举报
回复
把这两个文件DBENG50.EXE,WOD50T.DLL放在安装后的文件夹中就行了。
xyqiqi 2003-09-20
  • 打赏
  • 举报
回复
你在程序的连接数据库的地方写一个If语句看看是不是连接不上数据库,一般应该不是操作系统的原因。
gaosamuel 2003-09-20
  • 打赏
  • 举报
回复
就是程序死在那里不动了,没任何反应
gaosamuel 2003-09-20
  • 打赏
  • 举报
回复
我按各位介绍的方法,做了一个实验。把我的开发机器上的sql anywhere 5.0都unstall了,程序也能连上数据库了,很正常。但一放到客户需要的机器上时就死机!!!!!!烦死了!!!!!!!!,请问这到底是怎么回事?????
我的开发机的操作系统是win2000,客户的机器是win98。难道会是操作系统的原因????

各位救命!!!!!!!!!!!!!!!!!
thelazyman 2003-09-19
  • 打赏
  • 举报
回复
sql anywhere 5.0 数据库只要这两个文件DBENG50.EXE和WOD50T.DLL就行了
你把它们copy到当前目录下,再用代码在注册表中注册就ok啦!
runsoft 2003-09-19
  • 打赏
  • 举报
回复
COPY,几个DLL,然后用上面的代码注册就可以了.DBENG50.EXE,WOD50T.DLL
sdav 2003-09-19
  • 打赏
  • 举报
回复
补充:

需要注册数据源,
需要配置注册表里的ODBC项(HKEY_CURRENT_USER\Software\ODBC与HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources),还要有必要的动态库文件与数据库引擎文件
1、需要配置注册表里的ODBC项(HKEY_CURRENT_USER\Software\ODBC与HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources)注册方法:
string ls_key,ls_key1,as_odbc_name,as_path
string ls_curdir
ls_curdir = GetCurrentDirectory()
as_odbc_name='数据源名称'
as_path = ls_curdir
ls_key = 'HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\'+as_odbc_name
ls_key1 = 'HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources'
Registryset(ls_key,'Driver',as_path + "DBODBC5.DLL")
Registryset(ls_key,'UID',"DBA")
Registryset(ls_key,'PWD',"SQL")
Registryset(ls_key,'Integrated',"No")
Registryset(ls_key,'Start',as_path + 'dbeng5.exe')
Registryset(ls_key,'DatabaseFile',as_path + 'Database\glgl.db')
Registryset(ls_key,'DatabaseName',as_odbc_name)
Registryset(ls_key,'AutoStop',"Yes")
Registryset(ls_key,'zc',"")
Registryset(ls_key1,as_odbc_name,"Adaptive Server Anywhere 5.0")
2、还要有必要的动态库文件与数据库引擎文件(必须与注册信息的路径相符)

sdav 2003-09-19
  • 打赏
  • 举报
回复
1997-11-01 12:00 892,440 DBENG50.EXE
2001-05-04 04:05 37,136 odbcad32.exe
2000-01-10 04:00 27,136 ctl3d32.dll
1997-11-01 12:00 97,816 DBL50T.DLL
2000-01-10 04:00 4,656 ds16gt.dLL
2001-05-04 04:05 24,848 ds32gt.dll
1999-02-28 11:43 78,688 fabc.dll
2000-01-10 04:00 26,224 odbc16gt.dll
2001-05-04 04:05 217,360 ODBC32.DLL
2001-05-04 04:05 24,848 odbc32gt.dll
2001-05-04 04:05 102,672 ODBCCP32.DLL
2001-05-04 04:05 196,880 ODBCCR32.DLL
2001-05-04 04:05 90,112 ODBCINT.DLL
1998-07-09 00:00 934,672 VFPODBC.DLL
1997-11-01 12:00 275,480 WL50ENT.DLL
1997-11-01 12:00 136,216 WOD50T.DLL
1997-11-01 12:00 19,992 WTR50T.DLL
chrisfy 2003-09-19
  • 打赏
  • 举报
回复
升一下级吧,不影响系统的,anywhere5.0现在没人用了
chrisfy 2003-09-19
  • 打赏
  • 举报
回复
anywhere5.0我还真忘了需要那些动态库,试这想想:pbdwe60.dll、pbodb60.dll、pbvm60.dll、dbcon5.dll、dbctrs5.dll、dblgen5.dll、dbodbc5.dll、dbodtr5.dll、dbput5.dll、dbserv7.dll就这末多了,实在想不起来了,
不行你就把C:\Program Files\Sybase\Shared与C:\Program Files\Sybase\Adaptive Server Anywhere 6.0\win32(如果是anywhere6.0)下的所有dll均放在系统当前路径下就行了
as_odbc_name是你系统ODBC数据源的名字
ls_key1是用来存放注册信息在注册表里位置的变量
gaosamuel 2003-09-19
  • 打赏
  • 举报
回复
请问需要哪些dll????
请问这里的as_odbc_name
ls_key1 = 'HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources'
是什么关系?
chrisfy 2003-09-19
  • 打赏
  • 举报
回复
需要配置注册表里的ODBC项(HKEY_CURRENT_USER\Software\ODBC与HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources),还要有必要的动态库文件与数据库引擎文件
1、需要配置注册表里的ODBC项(HKEY_CURRENT_USER\Software\ODBC与HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources)注册方法:
string ls_key,ls_key1,as_odbc_name,as_path
string ls_curdir
ls_curdir = GetCurrentDirectory()
as_odbc_name='数据源名称'
as_path = ls_curdir
ls_key = 'HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\'+as_odbc_name
ls_key1 = 'HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources'
Registryset(ls_key,'Driver',as_path + "DBODBC5.DLL")
Registryset(ls_key,'UID',"DBA")
Registryset(ls_key,'PWD',"SQL")
Registryset(ls_key,'Integrated',"No")
Registryset(ls_key,'Start',as_path + 'dbeng5.exe')
Registryset(ls_key,'DatabaseFile',as_path + 'Database\glgl.db')
Registryset(ls_key,'DatabaseName',as_odbc_name)
Registryset(ls_key,'AutoStop',"Yes")
Registryset(ls_key,'zc',"")
Registryset(ls_key1,as_odbc_name,"Adaptive Server Anywhere 5.0")
2、还要有必要的动态库文件与数据库引擎文件(必须与注册信息的路径相符)

1,108

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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