還有老問題

aichangfeng 2004-01-02 09:20:09
裝客戶端問題,
把dll複製過去之後, 一定要配置odbc數據源才可以跑,但是若沒有裝pb就沒有這個sybase anywhere 驅動,
當數據庫用的是ms server 時, 有驅動, 配置好數據源就可以了, 但是若客戶端有機子太多, 也很麻煩.

所以究竟要改動注冊表的哪些項目配置這個odbc數據源? 試了多次, 不行.
...全文
72 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhxue123 2004-01-09
  • 打赏
  • 举报
回复
建议使用setup factory 6.0安装程序
来发布程序。
在setup factory 的action选项卡里配置
相关注册表信息。

qianduo 2004-01-08
  • 打赏
  • 举报
回复
学习

:)
netxzs 2004-01-08
  • 打赏
  • 举报
回复
学习中
Runatuta 2004-01-07
  • 打赏
  • 举报
回复
Up
aichangfeng 2004-01-07
  • 打赏
  • 举报
回复
若ok了,馬上結帳.
liliang800207 2004-01-06
  • 打赏
  • 举报
回复
也学习学习
liliang800207 2004-01-06
  • 打赏
  • 举报
回复
做个安装程序,帮你配
yuanjinet 2004-01-05
  • 打赏
  • 举报
回复
//定义变量
Int answer,answer1,answer2,answer3,answer4,answer5,answer6,answer7,answer8,answer9,answer10,answer11
String LS_DATASOU

//设置ODBC DATA SOURCE名称
answer=RegistryGet('HKEY_current_user\Software\ODBC\ODBC.INI\ODBC Data Sources','jxc',RegString!,LS_DATASOU)

IF answer=-1 THEN

//设置ODBC.INI的细节
answer=RegistrySet('HKEY_current_user\Software\ODBC\ODBC.INI\ODBC Data Sources','jxc',RegString!,'Adaptive Server Anywhere 7.0')
answer1=RegistrySet('HKEY_current_user\software\odbc\odbc.ini\jxc','driver',RegString!,"DBODBC7.DLL")
answer2=RegistrySet('HKEY_current_user\software\odbc\odbc.ini\jxc','DisableMultiRowFetch',RegString!,'NO')
answer3=RegistrySet('HKEY_current_user\software\odbc\odbc.ini\jxc','autostop',RegString!,'yes')
answer6=RegistrySet('HKEY_current_user\software\odbc\odbc.ini\jxc','Integrated',RegString!,'NO')
answer7=RegistrySet('HKEY_current_user\software\odbc\odbc.ini\jxc','Debug',RegString!,'NO')
answer8=RegistrySet('HKEY_current_user\software\odbc\odbc.ini\jxc','UID',RegString!,'DBA')
answer9=RegistrySet('HKEY_current_user\software\odbc\odbc.ini\jxc','PWD',RegString!,'sql')

IF answer=-1 OR answer1=-1 OR answer2=-1 OR answer3=-1 OR answer6=-1 OR answer7=-1 OR answer8=-1 OR answer9=-1 THEN
Messagebox('错误','应用程序无法设置细节,系统将终止运行!',StopSign!)
RETURN
END IF

END IF

answer10=RegistryGet('HKEY_current_user\software\odbc\odbc.ini\jxc','CommLinks',RegString!,ls_net)

if answer10=-1 then
//定义网络协议为tcp/ip
answer10=RegistrySet('HKEY_current_user\software\odbc\odbc.ini\jxc','CommLinks',RegString!,''tcpip')
//设置服务器名为jxc

answer11=RegistrySet('HKEY_current_user\software\odbc\odbc.ini\jxc','EngineName',RegString!,'jxc')
END IF

// 连接数据库
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=jxc;UID=DBA;PWD=SQL'"

connect using sqlca;

if sqlca.sqlcode <>0 then
messagebox("连接失败","数据库不能连接")
halt
ELSE
open(w_main)
end if
这是网络版客户端数据库的写法
将以下文件放入你客户端程序的目录就行了,好处是程序位置在那个目录没关系,拷到哪都能运行。
dblgen7.dll
dblgzh7.dll
dblib7.dll
dbodbc7.dll
dbtool7.dll
libjcc.dll
libjsybheap.dll
libsybbr.dll
libunic.dll
pbdwe80.dll
pblab80.ini
pbodb80.dll
pbodb80.ini
pbrtc80.dll
pbtra80.dll
pbvm80.dll
dbcon7.dll

这几天高手都太忙了,春节收红包啊,我来献一下丑。
yuanjinet 2004-01-05
  • 打赏
  • 举报
回复
1。第一步,在你的application的open里加入如下语句
//声明变量
Int answer,answer1,answer2,answer3,answer4,answer5,answer6,answer7,answer8,answer9,answer10
string lal
//设置ODBC DATA SOURCE名称;判断系统有无注册odbc源gdc2000即为数据源名称,换成你自己的名称就行了,以下相同
answer=RegistryGet('HKEY_current_user\software\odbc\odbc.ini\ODBC Data Sources','gdc2000' ,RegString!,lal)
IF answer=-1 THEN
//配置源
answer=RegistrySet('HKEY_current_user\software\odbc\odbc.ini\ODBC Data Sources','gdc2000' ,RegString!,'Adaptive Server Anywhere 8.0')
IF answer=-1 THEN
Messagebox('错误','程序无法设置ODBC DATA SOURCE名称,系统将终止运行!',StopSign!)
halt
END IF

//设置ODBC.INI的细节

answer1=RegistrySet('HKEY_current_user\software\odbc\odbc.ini\gdc2000','driver',RegString!,"dbodbc7.dll")
answer2=RegistrySet('HKEY_current_user\software\odbc\odbc.ini\gdc2000','DisableMultiRowFetch',RegString!,'NO')
answer3=RegistrySet('HKEY_current_user\software\odbc\odbc.ini\gdc2000','autostop',RegString!,'YES')
answer4=RegistrySet('HKEY_current_user\software\odbc\odbc.ini\gdc2000','DataBaseFile',RegString!,'gdc2000.DB')
answer5=RegistrySet('HKEY_current_user\software\odbc\odbc.ini\gdc2000','DataBaseName',RegString!,'gdc2000')
answer6=RegistrySet('HKEY_current_user\software\odbc\odbc.ini\gdc2000','Integrated',RegString!,'NO')
answer7=RegistrySet('HKEY_current_user\software\odbc\odbc.ini\gdc2000','Debug',RegString!,'NO')
answer8=RegistrySet('HKEY_current_user\software\odbc\odbc.ini\gdc2000','UID',RegString!,'DBA')
answer9=RegistrySet('HKEY_current_user\software\odbc\odbc.ini\gdc2000','PWD',RegString!,'SQL')
answer10=RegistrySet('HKEY_current_user\software\odbc\odbc.ini\gdc2000','Start',RegString!,'dbeng7.exe -Q -c 16m')

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 THEN
Messagebox('错误','程序无法设置ODBC.INI细节,系统将终止运行!',StopSign!)
halt
END IF

end if
// 连接数据库

SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=gdc2000'"
connect using sqlca;
if sqlca.sqlcode <> 0 then
messagebox("连接失败","数据库不能连接")
halt
else
open(w_main) //打开你的程序主界面
end if

这是单用户数据库的写法
将以下文件放入你程序的目录就行了,好处是程序位置在那个目录没关系,拷到哪都能运行。
dbextf50.dll
dbextf.dll
dblgen7.dll
dblgzh7.dll
dblib7.dll
dbmem.vxd
dbodbc7.dll
dbserv7.dll
dbspawn.exe
dbsrv7.exe
dbtool7.dll
libjcc.dll
libjsybheap.dll
libsybbr.dll
libunic.dll
pbdwe80.dll
pblab80.ini
pbodb80.dll
pbodb80.ini
pbrtc80.dll
pbtra80.dll
pbvm80.dll
sqlactnm.h
asa.cvf
dbcon7.dll
dbctrs7.dll
dbctrs7.ini
dbeng7.exe
dbextf6.dll
msdn_vipuser 2004-01-05
  • 打赏
  • 举报
回复
没用过,这类行数据库,关注
友情顶!!
flyerlxg 2004-01-03
  • 打赏
  • 举报
回复
study and help you up
fishead37 2004-01-03
  • 打赏
  • 举报
回复
其實是兩個:
1.我用asa 7 做後台, 寫得一個單機版程式,我想在任何機器上跑.如何配置?因為它連
sybase anywhere 驅動都沒有?
2.我用的MS server2K做後台的, 我做客戶端時,是一台台的配置數據源的,因為只要裝了
windows的機器都有ms server驅動, 怎樣直接尋入注冊表進行注冊.
xzg8848 2004-01-03
  • 打赏
  • 举报
回复
我用的是ASA8,如果你用的是ASA7或以前的,有些不同,要多几个文件。你说明一下用什么版本什么错误?
fishead37 2004-01-03
  • 打赏
  • 举报
回复
to xzg8848(老刚) :你在客戶端究竟做了哪幾個操作, 能否詳細說明?我試了n次,不行.
fishead37 2004-01-03
  • 打赏
  • 举报
回复
upup
xzg8848 2004-01-03
  • 打赏
  • 举报
回复
我刚完成了一个PB9+ASA8的零售管理系统开发,我将系统用到的ASA8中的内容放在了我自已工作目录下的ASA8子目录下,下面是注册表的内容,供你参考:

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\ODBC\" ]
[HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI]
[HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI]
[HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\ODBC Drivers]
[HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\Adaptive Server Anywhere 8.0]
[HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\Adaptive Server Anywhere 8.0]
"Driver" = "e:\\ldshop\ASA80\\dbodbc8.dll"

[HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\Adaptive Server Anywhere 8.0]
"Setup" = "e:\\ldshop\\ASA80\\dbodbc8.dll"


[HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\ODBC Drivers]
"Adaptive Server Anywhere 8.0" = "Installed"

[HKEY_CURRENT_USER\Software\ODBC]
[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI]
[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ldshop]
[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ldshop]
"AutoStop" = "YES"

[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ldshop]
"Driver" = "e:\\ldshop\\ASA80\\dbodbc8.dll"

[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ldshop]
"Integrated" = "NO"

[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ldshop]
"PWD" = "sql"

[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ldshop]
"UID" = "dba"

[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ldshop]
"Start" = "e:\\ldshop\\ASA80\dbsrv8.exe -c 16m"

[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ldshop]
"DatabaseFile" = "e:\\ldshop\\Data\\ldshop.db"

[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources]
[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources]
"ldshop" = "Adaptive Server Anywhere 8.0"

ASA8目录下我用到的内容:
dbcon8.dll
dbctrs8.dll
dblgen8.dll
dblib8.dll
dbodbc8.dll
dbserv8.dll
libunic.dll
dbeng8.exe
dbsrv8.exe
如果你要用备份工具dbbackup.exe的话,请把dbtool8.dll也拷入.

CodeMagic 2004-01-03
  • 打赏
  • 举报
回复
安装程序来帮你配置呀。
sinkiangscorpio 2004-01-03
  • 打赏
  • 举报
回复
gz
aichangfeng 2004-01-03
  • 打赏
  • 举报
回复
就是上面樓主的問題呀?
就是裝客戶端問題, 若有幾百個客戶端,怎麼裝, 騅道要一台台去配置數據源, 況且每台機子還沒有odbc驅動,????????連配置都沒法配置?
CodeMagic 2004-01-03
  • 打赏
  • 举报
回复
有什么问题,详细说一下?
加载更多回复(9)

1,076

社区成员

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

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