几个与PB连接数据库相关的问题Word文档下载推荐.docx
- 文档编号:21648942
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:11
- 大小:25.89KB
几个与PB连接数据库相关的问题Word文档下载推荐.docx
《几个与PB连接数据库相关的问题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《几个与PB连接数据库相关的问题Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
点DATABASE图标-----选择连接方式。
如:
选MSSMICROSOFTSQLSERVER右键-NEWPROFILE按要求填定一些参数后在--PREVIEW中可以看到代码,把它复制到INI文件中就行了。
3.编程经验--PB数据库连接
作者:
郭洪建无法确定网上来源,如有准确首发,请与本站联系
通过这些年的信息系统开发经验,使我对POWERBUILDER的理解更进一步,最近在开发某子系统模块时,遇到了一个奇怪的问题,这里给大家介绍一下.
通常在使用PB和数据库管理系统(DBMS)连接时,使用两种方式:
一、开放数据源接口(ODBC)连接
ODBC是通过支持美国微软公司开放服务结构(WOSA,WindowsOpenServicesArchitecture)中的一部分.在PB中通过配置SQLCA.DBMS=‘ODBC’对象的属性可使应用程序通过ODBC连接到数据库。
ODBC的具体配置包含了数据源、驱动程序类型、缓冲池等各种细节参数。
例子:
SQLCA.DBMS="
ODBC"
SQLCA.AutoCommit=False
SQLCA.DBParm="
C,C"
PWD="
'
C"
二、专用数据库接口
每个数据库管理系统(DBMS)均提供相应的客户端驱动,为了更好的服务于数据库。
在这里我们使用的是Microsoftsqlserver2000的客户端程序。
通过设置SQLCA.DBMS="
MSSMicrosoftSQLServer"
使客户端通过专用数据库接口连接到数据库。
该类接口的参数配置除了服务器名、数据库名、LogId、LogPass外还包含了连接协议等用户验证方式等,可通过服务器端或客户端的配置程序进行配置。
SQLCA.dbms="
//接口类型
SQLCA.database="
master"
//数据库
SQLCA.userid="
"
SQLCA.dbpass="
SQLCA.logid="
sa"
SQLCA.logpass="
xxxx"
SQLCA.serverName="
.\xxx"
//服务器名
SQLCA.dbparm="
Commit"
SQLCA.autocommit=false
以上介绍的是PB与数据库连接时常用的方法。
往往根据不同的应用环境选择连接方式,在单机环境下多采用的是ODBC连接,因为在发行环节上相对要容易些。
在网络环境下多采用专用数据库连接,这样可以提高系统的可靠性与执行效率。
专用数据库的发行环节往往要配上相应DBMS客户端的动态连接库(DLL),并把它.
PB与ASA数据库连接问题!
一.连接步骤
1.添加数据源。
WINDOWS98中----我的电脑---控制面版----ODBC数据源32位-----系统DSN---添加---选择你使用的数据库
2.在工具条上点击DBPROFILE选择已建立好的数据库连接,单击EDIT在弹出的对话框中选PREVIEW里面就是连接数据库的语句,COPY就OK了。
二.DB_profile写法(以的tax例程为例)
tax.ini
[Database]
DBMS=ODBC
Database=test
DbParm=c
三.打包所需文件
参看以下文章:
四.容易出现的问题及解决方法
导致ASA数据库无法连接的问题有以下几种:
1、ODBC配置错误。
没有配置数据源,数据库的用户名或口令错误等都会导致数据库无法连接。
解决的办法:
检查数据源的配置,如果没有在ODBC中配置数据源则按照向导添加数据源即可;
口令错误只需改为正确的即可。
2、连接时提示LOG文件错误。
这样的问题大多出现在重装系统后、源码移植到其他系统、数据库文件路径改变之后。
在创建ASA数据库的时候不创建LOG文件,如果已经创建了LOG文件则可以利用PB自带的工具Sybasecentral来去掉LOG文件和数据库文件的关联。
操作步骤如下:
a)启动Sybasecentral在左边的树型目录中选择Utilities;
b)双击右边出现的条目中的changelogfilesettings,直接next;
c)点Browse选择需要去除log文件的数据库文件,选好后next;
d)这里你会看到一些数据库的信息,log文件名,文件大小等。
next;
e)去掉Maintinthefollowingtransactionlogfile前面的对勾,Finish;
f)配置ODBC连接数据库就可以了。
3、数据库文件损坏。
此类错误一般不常见,可能由于病毒破坏或误操作引起。
如果以前有备份用备份文件覆盖原文件即可,如果没有备份文件就只能重新建库了!
PB8如何使用OLEDB练到ASA数据库
(本文来自sybase网站翻译by金色年华)
原文出处:
ConnectingtoASAServer(7.01GA)viaOLEDBinPowerBuilder8
AdaptiveServerAnywhereincludesanOLEDBprovidernamedASAProv.OneofthefeaturesofASAProv(dboledb7.dll)isthatyoudonothavetodeployODBC.Inotherwords,youcanconnecttoanASAdatabaseeitherviaOLEDBorviaOLEDB/ODBCbridge.
在pb中通过OLEDB连接到ASA数据库的步骤如下:
在命令提示符下键入如下命令,启动ASADEMO:
dbsrv7asademo-xtcpip-nasademo
("
asademo"
-你选择运行的数据库.确定你没有正在运行一个同名的数据库,否则会出错)
有两个方法通过OLEDB连接到ASAServer:
1)OLEDB/ODBCbridge
对于这种连接,你必须在数据库参数中,指定有效的ODBC数据源,连接的脚本如下:
//Profileasa_oledb
OLEDB"
SQLCA.LogPass="
sql"
SQLCA.LogId="
dba"
SQLCA.DBParm="
PROVIDER='
ASAProv'
DATASOURCE='
asa'
2)OLEDB(不需要配置ODBC)
你可以通过一个扩展名为.udl的单独的文件,提供连接信息,在OLEDB中访问数据.这个文件与MicrosoftDataLink(.udl)file类似.你必须在系统中安装DatalinkAPI以便于创建和使用.udl文件.
创建.udl文件的方法:
在当前目录里的空白处单击鼠标右键,选择新建文件,选择MicrosoftDataLink.如果没有创建MicrosoftDataLink的选项,需要创建一个文本文件,然后更改扩展名为.udl.双击这个文件,添加连接信息.详情请访问搜索DataLink(此处原文有乱码,具体内容不详).
【讨论】pb连接MSSQLServer问题!
1)服务器安装SQLServer并启动,创建数据库。
2)客户机安装SQLServer客户端。
3)启动PB,配置数据源描述(通过直连接口,不建议用ODBC)。
4)连接。
二.DB_profile的写法
在ini文件里设置
DBMS=MSSMicrosoftSQLServer6.x
Database=databasename
UserId=
LogID=
DatabasePassword=
LogPass=
ServerName=
AutoCommit=False
在程序里用profilestring读取
附加资料:
mssqlserver配置文件设置
mssqlserver配置文件设置:
dbms="
mss"
//只须在*.ini文件中用这个代码便告诉pb使用的mssqlserver
Database:
所用数据库
LogId:
sqlserver的登陆账号
LogPass=口令
servername:
允许数据库服务器连接的计算机名
autocommit:
控制pb是工作在事务处理范围内还是工作在事务处理范围外
dbparm:
dbms的专用连接参数
以下参数:
language:
在显示错误消息和日期格式时指定要使用的语言,在服务器上必须设置该直.
lock:
事务处理隔离层
log:
文本和图像数据的更新是否应该纪录到事务日志中.
systemprocs:
系统存储过程和用户定义的存储过程是否显示在各种各样的pb画板中.
pbcatalogowner:
pb存储中表的缺省者.
async:
允许在服务器上进行同步操作.0:
同步,1:
异步
dbgettime:
当async=1时,使用该参数设置用户在检索行时pb等待来自pb的响应的秒数.
cursorlock:
release和cursorscroll参数一起使用可设置光标的锁定选项.lock,opt,optval,readonly
cursorscroll:
设置光标的滚动选项.
staticbind:
控制pb是否在检索数据前获取dbms中的结果集描述.
dbtextlimit:
控制返回的文本字段的最大长度而不用将文本作为二进制大型数据对象来处理.
appname:
设置连接时所使用的应用程序名.
host:
设置连接似的工作站名.
packetsize:
设置使服务器向pb传送数据时所设置的包大小.
secure:
设置是否想使用winnt集成逻辑安全性和安全sqlserver连接缺省0使用标准安全性,1集成安全性.
PowerBuilder与Oracle的连接
PowerBuilder(PB)和Oracle分别是前端开发工具和RDBMS的主流产品。
PB提供了两种与Oracle连接的接口:
PowerSoft内置的数据库接口(NativeDatabaseInterface)和ODBC接口。
本文介绍使用PB6.0内置Oracle接口的方法,包括数据描述文件的设置、存储过程的调用和存储过程作为数据窗口数据源的操作方法等内容,使用的RDBMS的Oracle7.3。
假定已安装Oracle客户端应用程序。
可用Sqlplus或Tnsping等是否能连接到Oracle数据库,确定在SQLNET配置文件中使用的数据库别名(DatabaseAlias,又称服务器名,ServerName)。
如有疑问,可在Oracle客户端程序目录下tnsname.ora文件中找到。
另外保证搜索路径已包括SQLNET应用程序的安装目录(如C:
\ORAWIN95\BIN)。
进入PB的DatabaseProfiles画笔,可看到所有已安装的数据库接口(PB6.0缺省安装的是Oracle7.3版的接口,如使用低版本的Oracle,需在安装时指定),选择“O73Oracle7.3”,点击“New”按钮,进入DatabaseProfileSetup对话框。
在“Connection”页输入下列信息:
ProfileName:
为该DatabaseProfile起一个有意义的名称;
Server:
TNS:
ServerName,其中ServerName为上述数据库别名(服务器名),如@TNS:
ORA73;
LoginID:
Oracle数据库中实际的用户名,由于PB初次连接到数据库时要自动建立五个系统表(PowerBuilderCatalogTable;
SCATTBL,PBCATCOL,PBCATEDT,PBCATFMT,PBCATVLD,存储表的扩展属性),因此第一个连接到Oracle的用户必须具有建表、给PUBLIC角色授权等权限。
例如可用SYSTEM用户进行第一次连接,此后的连接对用户则无特殊要求;
Password:
该用户的口令。
设置上述内容后,即可连上Oracle。
为优化数据库连接,还可设置下列选项:
PromptforDatabaseInformation:
连接时是否提示用户输入用户名和口令;
GenerateTrace:
启动DB跟踪工具,跟踪连接;
ThreadSafe:
开发需要多线程环境支持的分布式应用时,选择该项。
缺省为未选,适用于非分布应用;
PBDBMS:
与存储过程调用方式有关的参数。
Oracle为7.2或更高版本时,清除该选项,此时带INOUT参数的存储过程可作为数据窗口数据源。
7.2版本以下,选择该项,调用PBDBMS.Put-Line建立存储过程的SQL语句,缺省是选中;
CommitonDisconnect:
断开连接时,指定提交或回退未提交的事务;
CaseSensitive:
连接的Oracle服务器是否区分大小写。
注意该项选中时,所有主键、包含主键的表名、外键须全为大写字符。
PowerBuilderCatalogTablesOwner:
指定拥有PB系统表的用户,缺省为“SYSTEM”。
如果要使用多种显示格式或有效性规则,可以在不同的用户下建立几套系统表;
TableCriteria:
指定满足哪些条件的表、视图和同义词可在“SelectTables”对话框中显示出来。
例如DEV用户下销售子系统的表都以SALE开头,则可以用SALE%、DEV、“TABLE”、“VIEW”指定只显示DEV用户以SALE开头的表和视图;
Asynchronous:
选择该项,可在一个复杂的SQL语句执行过程中,返回第一行结果前,切换到其他操作;
NumberofSecondstoWait:
若上一项选中,还可进一步通过该项指定检索数据时,等待数据库响应的时间;
RetrieveBlockingFactor:
决定数据窗口对象一次可从数据库取出的记录数;
NumberofSQLStamentsCached:
PB可将数据窗口对象产生的SQL语句和嵌入式SQL语句保存在SQL语句缓冲区,该参数指定缓冲区为PB保留的SQL语句数目。
该数值可由下式计算:
SQLCache=服务器OPEN—CURSORS数-5(保留的游标数)-本连接预期使用的最大游标数;
DisableBind:
指定是否将输入变量与SQL语句绑定,此参数影响PB为数据窗口对象生成INSERT语句的方式;
StaticBind:
数据窗口对象检索数据前是否检测SELECT语句的合法性;
在Syntax页,还可指定日期、时间的格式等。
在Preview页可查看DatabaseProfile设置对应的PowerScript写法。
Oracle存储过程的使用
归纳起来PB6.0中调用Oracle存储过程有以下四种方法。
方法一:
以关键字RPCFUNC声明存储过程;
方法二:
以DECLAREPROCEDURE语句声明存储过程;
方法三:
以动态SQL语句实现;
方法四:
调用函数PBDBMS.Put-Line。
一般情况下,方法一能得到较好的运行效率和更完善的功能。
因此推荐使用方法一。
但是某些类型的存储过程只能使用其他方法。
以下重点介绍方法一和方法二。
两种方法比较起来,有以下几点主要区别:
1)方法一适用于具有IN、OUT和INOUT参数的存储过程,而方法二仅支持IN
PB10连接SQLServer的配置
可能初次使用pb10的朋友无法顺利连接到sqlserver,一方面没有了mssqlserver专用接口了,另一方面数据库管理系统(DBMS)换成了“OLEDB”,配置起来有点不顺手!
下面就来介绍pb10中用OLEDB连接sql2000数据库。
在安装pb10的时候选择custom/full方式安装(默认的安装方式不会安装oledb接口),next-》如果你没有安装.net则不要选择列表中的ADO.net....项。
一路next完成安装。
在数据库画板中找到OLEmicrosoftOLEDB项,在其上右键新建一个配置,在弹出的配置窗口中:
profilename:
填写配置文件名//任意即可
provider:
选择数据库管理系统类型,这里选择“SQLOLEDB”项
datasource:
服务器名(和之前的版本不太一样)。
可以在下拉列表中选择,也可以填入服务器名或IP地址如:
127.0.0.1等。
如果上面的provider不是“SQLOLEDB”则此下拉列表中可能没有选项。
userID:
用户名。
我的用户名是默认的sa
password:
对应上面userID的密码,我的密码是空的,所以不填。
到这里你就可以顺利的连接到sqlserver了。
但是连接到哪个数据库呢?
上面的参数都没有指明,我也找了半天。
不要着急,在Extended里填入“database=数据库名”就可以了。
(不要引号)
最后的配置文件内容为:
//Profilehis
//我的用户名是sa
SQLOLEDB'
NETMANAGER'
PROVIDERSTRING='
database=zs'
//我的数据库名是:
zs;
datasource后面也可以是IP地址:
DATASOURCE='
127.0.0.1'
至此就完成了pb10下用OLEDB连接sqlserver的配置!
在PB中使用FoxPro数据库的方法
重庆工业管理学院蒋波
----PowerBuilder是十分优秀的用于客户/服务器环境信息管理系统开发工具,其优秀之处不仅是因为可以开发基于客户/服务器模式的系统,而且简单、易学,PowerBuilder自身是没有数据库管理系统(DBMS)的,它是首先通过不同的驱动程序联接不同的数据库,再通过这种联接,实现对数据的管理。
PowerBuilder同时随盘附带有一个小型的数据库管理系统:
SQLAnywhere,所以用户也可以直接开发用于单机的完整的信息管理系统。
----本人以前曾开发过基于FoxPro环境下的数据库系统,但FoxPro的编程太麻烦,不但要处理数据的管理,而且还要花大量的精力处理输入、输出的格式等。
但有着可视化编程环境的PowerBuilder却不同,处理输入、输出是件相当简单的事情,于是,本人偿试用PowerBuilder来管理以前的数据库。
c在PowerBuilder系统中,使用FoxPro的数据库有两种方法:
一是利用ODBC联接FoxPro数据库;
另一种方法是将FoxPro的数据库转换到SQLAnywhere的数据格式。
----一、利用ODBC联接FoxPro数据库
----在PowerBuilder中,直接访问FoxPro数据库只能通过ODBC方式。
----在开发环境下,可以直接在PowerBar画板上配置ODBC,联接FoxPro数据库,方法如下:
单击ConfigureODBC工具钮
在InstalledDrivers目录框中选择:
MicrosoftFoxproDriver(*.dbf)
单击“Create”按钮
命名数据源名、选择版本
取消“使用当前工作目录”选项
单击选定目录,选择被联接数据库所在的目录
确定退出
----通过ODBC方式联接的FoxPro的数据库,一定要满足FoxPro的数据库格式,即数据库文件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 几个 PB 连接 数据库 相关 问题