社区
PowerBuilder
帖子详情
pb8.0+ASA7.0的 C/S 模式的数据库应该怎么配置?
shuihersina
2003-11-25 11:32:10
请各位高手告诉我
pb8.0+ASA7.0的 C/S 模式的程序发布的时候要想顺利运行,应该怎样写注册表
——客户端和服务器端的注册表各应该怎样写?
(千万不要告诉我手动配置——手动配置我是会的)
先谢谢了!
...全文
118
6
打赏
收藏
pb8.0+ASA7.0的 C/S 模式的数据库应该怎么配置?
请各位高手告诉我 pb8.0+ASA7.0的 C/S 模式的程序发布的时候要想顺利运行,应该怎样写注册表 ——客户端和服务器端的注册表各应该怎样写? (千万不要告诉我手动配置——手动配置我是会的) 先谢谢了!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shuihersina
2003-11-26
打赏
举报
回复
楼上说的好像是单机版的本地数据源的注册,
我说的是 C/S 模式的网络数据库的注册呀!
麻烦你告诉我好么??
qqjj7758
2003-11-26
打赏
举报
回复
强烈建议用安装工具来设置注册表 那样更令灵活
qqjj7758
2003-11-26
打赏
举报
回复
这样的例子好多
动态往注册表里填写数据 很容易 一个ini文件就帮你搞定
二、使用PB的注册函数
PB中使用“RegistrySet()”函数在注册表中设置或创建指定的键,以下是该函数语法及参数。
语法:
RegistrySet ( key, valuename, valuetype, value )
参数:
key:string类型,指定键名;
valuename:string类型,指定要访问值的名称。每个键可以有一个未命名的值和多个命名的值。要访问未命名的值,把该参数指定为空字符串(″″)。如果注册库中不存在指定值名,该函数将创建新的值名;
valuetype:RegistryValueType枚举类型,指定值的数据类型,这里我们选用“regstring!”;
value:要设置的值,其数据类型应该与valuetype参数指定的类型相匹配。
返回值:Integer型。函数执行成功时返回1,失败时返回-1。
三、应用实例
假设我们连接到“sybase sql anywhere 5.0”创建的本地数据库“c:\pb\ex.db”,数据源名称为“ex”。
/*如果是第一次运行该系统,则注册数据源:为了保证应用程序只是在首次运行时注册数据源,需要在程序的工作目录下创建一个INI文件,该文件包含“start”小节, 其中建立“first=1”*/
integer rc
//取得INI文件中“start”小节 “first”的值
rc=profileint(″first.ini″,″start″,″first″,1)
//rc=1则是初次运行该系统,进行注册
if rc=1 then
/*将数据源名称“ex”注册到“HKEY_CURRENT_USER\software\odbc\odbc.ini\odbc data sources”下。*/
registryset(″HKEY_CURRENT_USER\software\odbc\odbc.ini\odbc data sources″,″ex″,regstring!,″sybase sql anywhere 5.0″)
/*“HKEY_CURRENT_USER\software\odbc\odbc.ini”下新增以该数据源名称“ex”为键名的子键,*/
registryset(″HKEY_CURRENT_USER\software\odbc\odbc.ini\ex″,″″,regstring!,″″)
//创建连接到数据源所需要的参数
registryset(″HKEY_CURRENT_USER\software\odbc\odbc.ini\ex″,″autostop″,regstring!,″yes″)
registryset(″HKEY_CURRENT_USER\software\odbc\odbc.ini\ex″,″databasefile″,regstring!,″c:\pb\ex.db″)
registryset(″HKEY_CURRENT_USER\software\odbc\odbc.ini\ex″,″databasename″,regstring!,″ex″)
registryset(″HKEY_CURRENT_USER\software\odbc\odbc.ini\ex″,″driver″,regstring!,″wod50t.dll″)
registryset(″HKEY_CURRENT_USER\software\odbc\odbc.ini\ex″,″pwd″,regstring!,″sql″)
registryset(″HKEY_CURRENT_USER\software\odbc\odbc.ini\ex″,″start″,regstring!,″dbeng50 -Q″)
registryset(″HKEY_CURRENT_USER\software\odbc\odbc.ini\ex″,″uid″,regstring!,″dba″)
/*设置INI文件中“start”小节的“first=0”,避免下次运行时再次注册数据源*/
setprofilestring(″first.ini″,″start″,″first″,″0″)
end if
将以上代码加入应用对象的open事件中,执行程序即可完成ODBC数据源的注册。
代码中为了更好地说明registryset()函数的使用,将连接的数据库固定在“c:\pb”目录下。在具体应用中,可以使用外部函数“GetCurrentDirectoryA()”得到当前目录,与数据库文件名合并为一个字符串变量后,以该变量注册″databasefile″的值,就实现了真正的动态注册ODBC数据源,这里不再赘述。
mittee
2003-11-26
打赏
举报
回复
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{}") //这里指定通过tcp/ip 连接 生成 dsn后看一下就知道了
answer11=RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\YOU_DB_CLIENT","AutoStop",RegString!,"YES")
pb8
2003-11-26
打赏
举报
回复
//服务器端
global type uf_runasaserver from function_object
end type
forward prototypes
global function integer uf_runasaserver (string as_runpath, string as_servername, string as_db, string as_log)
end prototypes
global function integer uf_runasaserver (string as_runpath, string as_servername, string as_db, string as_log);//运行服务器数据库
string ls_Server,ls_cmd
ls_server = as_runpath + "dbsrv7"
ls_cmd = ls_server + ' ' + as_db + ' -n ' + as_servername&
+ ' -x tcpip -c 44m -q -o ' + as_log
run(ls_cmd)
return 0
end function
//客户端
global type uf_regasaforserver from function_object
end type
forward prototypes
global function integer uf_regasaforserver (string as_odbc, string as_ip, string as_db, string as_user, string as_pass, string as_drive)
end prototypes
global function integer uf_regasaforserver (string as_odbc, string as_ip, string as_db, string as_user, string as_pass, string as_drive);String ls_odbckey,ls_host
int li_rtn
ls_odbckey = 'HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\' + as_odbc
ls_host = "TCPIP{host=" + as_ip + "},SharedMemory"
//数据库驱动程序
li_rtn = RegistrySet(ls_odbckey,"Driver", RegString!,as_drive)
if li_rtn = -1 then return -1
//用户名
li_rtn = RegistrySet(ls_odbckey,"UID", RegString!,as_user)
if li_rtn = -1 then return -1
//密码
li_rtn = RegistrySet(ls_odbckey,"PWD", RegString!,as_pass)
if li_rtn = -1 then return -1
//数据库名
li_rtn = RegistrySet(ls_odbckey,"DatabaseName", RegString!,as_db)
if li_rtn = -1 then return -1
//引擎名
li_rtn = RegistrySet(ls_odbckey,"EngineName", RegString!,as_db)
if li_rtn = -1 then return -1
//自动停止
li_rtn = RegistrySet(ls_odbckey,"AutoStop", RegString!,"YES")
if li_rtn = -1 then return -1
li_rtn = RegistrySet(ls_odbckey,"Integrated", RegString!,"NO")
if li_rtn = -1 then return -1
//网络连接
li_rtn = RegistrySet(ls_odbckey,"CommLinks", RegString!,ls_host)
if li_rtn = -1 then return -1
return 0
end function
shuihersina
2003-11-26
打赏
举报
回复
怎么没有人知道呀
PowerBuilder 9.0 高效部署与避坑指南
本文聚焦PowerBuilder 9.0在Windows环境下的高效部署实践,涵盖系统兼容性验证(推荐Win7 SP1/Server 2008 R2)、Adaptive Server Anywhere优先安装顺序、安全
模式
带网络安装技巧、静默安装参数
配置
、注册表清理要点,以及MSVCR71.dll缺失、安装卡顿、许可证失效等典型问题排查。同时提供
配置
文件调优与ASA
数据库
缓存参数优化方案,提升运行性能。
别再卡在Setup is running了!PowerBuilder 9.0保姆级安装避坑指南(附安全
模式
备用方案)
本文详解PowerBuilder 9.0在现代Windows系统(Win10/Win11)中卡在'Setup is running'的成因与解决方案,涵盖环境清理、四步精确安装顺序、安全
模式
安装流程、注册表权限修复、MSI日志分析及虚拟机适配方案,核心聚焦于组件依赖死锁、JRE 1.3.1与ASA协同安装、系统权限控制等关键技术点。
linux笔记
本文深入讲解Linux系统管理与运维的关键技术,包括文件目录结构、环境变量
配置
、软件安装与管理、网络
配置
、进程管理、文件权限设置、虚拟环境搭建、
数据库
与Web服务器部署、以及高并发Web应用优化等,旨在提升读者的Linux系统操作技能。
【信息科学与工程学】【制造工程】计算机科学与自动化——服务器制造中的学科知识01
本文系统梳理了GB300 NVL72整机柜级GPU服务器的制造核心要素,涵盖NVLink 5互连架构(1.8TB/s双向带宽)、液冷系统(54V DC供电与全液冷回路)、高密度功率管理(132kW TDP)、RAS/ECC内存容错、GPUDirect RDMA数据路径、供应链可信根与防篡改机制,以及72-GPU全连通Fabric拥塞感知等关键信息技术工程实践。内容聚焦服务器硬件设计、制造工艺、可靠性建模与系统级协同优化,忽略非信息技术相关背景描述。
AI原生医疗数据中心:神经中枢与免疫系统的实战构建
本文聚焦AI原生医疗数据中心的构建实践,涵盖高合规、高实时、高异构、高敏感的医疗数据特性应对策略;AI能力中台三层架构(数据湖治理、模型工厂、服务编排);以及能效优化、AI增强型SOC、预测性维护等关键实操环节。强调数据质量、可解释AI、模型漂移监控与医疗ROI量化方法,突出AI作为神经中枢与免疫系统的系统级价值。
PowerBuilder
1,110
社区成员
66,453
社区内容
发帖
与我相关
我的任务
PowerBuilder
PowerBuilder 相关问题讨论
复制链接
扫一扫
分享
社区描述
PowerBuilder 相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章