如何部署Sybase ASA 8个人数据库服务器

如何部署Sybase ASA 8个人数据库服务器,第1张

1. 下载

2. 将其解到d:\tools, 这样会有一个根目录dbeaver, 里边有一个可执行程序dbeaver.exe,如果看看其中的readme,就知薯郑伏道它依赖一个外部的jvm。创建一个dbeaver.exe的快捷方式,在其目标(target)里设置为:D:\tools\dbeaver\dbeaver.exe -vm D:\shared\jdk1.6.0_02\bin\javaw, 用于指定jvm的位置。当然,你得事先准备好jdk1.6才行。

3.点开数携那个快捷方式,把DBeaver启起来。同时准备好Sybase的jdbc驱动,ASE和ASA可以共用一个驱丛带动。在dbeaver下建立子目录drivers\sybase, 把jconn3.jar放进去。如果你手头没有,可以从已经安装好的ASA11/12, java子目录下复制一个,或者从ASE15\jConnect-6_0\classes子目录下边复制一个。

4. 开始添加jdbc driver manager, database->Driver Manager->create new driver

pb9.0下 自动注册odbc数据源

由于powerbuilder 开发工具和技术更新 使用powerbuilder 的程序员越唯岁来越少,再加上sybase被sap收购,估计powerscript语言在市场逐步淡化,但会加强sybase数据库的发展。

有的电脑安装有Adaptive Server Anywhere(asa) 有的电脑没有为了实现两种情况下的odbc连接,同时又不影响正常pb开发中的数据库管理,将连接参数封装

第一步:首先定义连接参数的结构global type str_db_property from structure

string DBMS //(必须)所使用的数据库管理系统的名字,如Sybase,Oracle,ODBC,MSS Microsoft SQL Server。 string Database //连接的数据库名

string LogID //登录到数据库服务器上的用户名,有的DBMS不需要此项,但Sybase和Oracle需要指定这个参数。 string LogPass //登录到数据库服务器上的用户口令。这个属性可设可不设,但Sybase和Oracle需要指定口令。 string ServerName //服务器名 string UserID //连接数据库所用的用户名。有的DBMS不需要此项(ms sqlserver) string DBPass //用户连接数据库的口令。 string Lock="RC" //隔离级别 RC默认提交读 RU未提交读 RR可重复读 TS序列化 资料参考:sqlserver 事务隔离级别 boolean AutoCommit=false // string DBParm //连接参数

//以上为连接参皮山郑数,一下为结果属性

//long SQLCode //指示最近一次SQL *** 作失败或成功。它的取值为: 返回结燃颂果 0 无错误。 -1 出现一个错误。 100 没有检索到数据。

//long SQLDBCode //数据库错误代码,同的数据库的含义不同。

//string SQLErrText //数据库错误内容,相应于SQLDBCode属性中错误码的文字说明

//long SQLNRows //最近一次SQL *** 作影响的行数,数据库不同其含义也不同。

//string SQLReturnData //返回DBMS执行SQL的附加信息,不同的DBMS其值不同。

//一下为asa8.0使用属性,加载asa驱动

string Sybasedb //sybase数据库位置 *.db

string Dbeng8path //asa Dbeng8.exe

string Dbodbc8path //asa Dbodbc8.dll

string Asaname="aa_erp" //可以设置默认数据源名称

end type

在以上机构定义中,可以设置属性的默认值,也可以不设,在调用时再赋值。

第二步:封装为函数,方便调用

forward prototypes

public function integer uf_db_gettrans (ref transaction l_tran, str_db_property str_property, integer types)

end prototypes

public function integer uf_db_gettrans (ref transaction l_tran, str_db_property str_property, integer types)

choose case types

case 1 //ms sqlserver专用 l_tran.DBMS =str_property.DBMSl_tran.Database =str_property.Databasel_tran.LogPass =str_property.LogPassl_tran.ServerName = str_property.ServerNamel_tran.LogId = str_property.LogIdl_tran.Lock = str_property.Lockl_tran.AutoCommit = str_property.AutoCommitl_tran.DBParm=str_property.DBParm case 2 //asa 8.0 string ls_rootstring ls_root_table ls_root="HKEY_CURRENT_USER\software\odbc\odbc.ini"ls_root_table=ls_root+"\"+str_property.Asaname//判断是否有asa驱动程序 string ls_drivervaluestring ls_driverpath="HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\ODBC Drivers"RegistryGet(ls_driverpath,"Adaptive Server Anywhere 8.0",regstring!,ls_drivervalue)if ls_drivervalue<>"Adaptive Server Anywhere 8.0" then RegistrySet("HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\ODBC Drivers","Adaptive Server Anywhere 8.0",RegString!,"Installed") RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Translators","Adaptive Server Anywhere 8.0 Translator",RegString!,"Installed") RegistrySet("HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\Adaptive Server Anywhere 8.0","Driver",RegString!,str_property.dbeng8path) RegistrySet("HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\Adaptive Server Anywhere 8.0","Setup",RegString!,str_property.dbeng8path) RegistrySet("HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\ODBC Data Sources",str_property.Sybasedb,RegString!,"Adaptive Server Anywhere 8.0") end if //odbc-asa配置信息 registryset(ls_root+"\odbc data sources",str_property.Asaname,regstring!,"Adaptive Server Anywhere 8.0")registryset(ls_root_table, "Driver",regstring!,"d:\Program Files\Sybase\SQL Anywhere 8\win32\dbodbc8.dll") registryset(ls_root_table, "UID",regstring!, str_property.UserID)registryset(ls_root_table, "PWD",regstring!,str_property.DBPass)registryset(ls_root_table, "DatabaseFile",regstring!,str_property.Sybasedb) registryset(ls_root_table, "DatabaseName",regstring!,str_property.Database)registryset(ls_root_table, "AutoStop",regstring!, "Yes") registryset(ls_root_table, "Compress",regstring!, "No")registryset(ls_root_table, "Integrated",regstring!, "No") l_tran.DBMS = "ODBC"l_tran.AutoCommit =falsel_tran.database="sc"l_tran.DBParm = "Connectstring='DSN="+str_property.Asaname+"UID=dbaPWD=sql''" end choosereturn 0

end function

以上函数封装中,提供了sqlserver的连接和asa8的连接

对于里面的连接参数和其他数据库连接,可以修改和追加.

具体的连接参数DBParm,可以参考powerbuilder开发环境中的帮助文档.(查看方式如下)点击菜单help->content 在d出的界面中输入dbparam ,然后点击列表中 “DBParm parameters:and supported database interfaces”该帮助提供了大部分数据库连接的参数信息,对于transaction 属性可以点击browser-》system 选项卡查看 transaction的属性

第三步:调用str_db_property str_property

//sql server登陆参数

str_property.DBMS="MSS Microsoft SQL Server"

str_property.Database="sc"

str_property.LogID="sc"

str_property.LogPass="aJolM23BSf"

str_property.ServerName="192.168.2.182"

str_property.UserID="dba"

str_property.DBPass="sql"

str_property.Lock="RC"

str_property.AutoCommit=false

str_property.DBParm=""

//一下为asa8.0使用属性

str_property.Sybasedb="E:\bb.db" //sybase数据库位置

str_property.Dbeng8path="f:\sc\dbeng8.exe" //asa 连接文件

str_property.Dbodbc8path="f\sc\dbodbc8.dll" //asa 连接文件

str_property.Asaname="aa_erp" //数据源名称

sql_myca=create transaction

uf_db_gettrans(sql_myca,str_property,2)

connect using sql_myca

if sql_myca.sqlcode=0 then

messagebox("提示","sqlserver 连接成功")

end if

上述调用方法中,需在全局变量中声明 tranaction sql_myca

整个过程完毕


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12566775.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存