⑴ pb怎么连接oracle数据库
Pb连接oracle数据库的方法。
一是:通过ODBC,在database-ODBC-utilities-双击ODBCAdministrator,添加数据源,
上图:
添加新的数据源
上图:为数据源选择驱动程序
上图:这里data
Source
name栏中输入数据库名,TNS
ServiceName栏输入(选择)服务器名:。然后完成,单击ok
上图:在新建proflie与数据库相连
添上profile
name,还有data
source
,userID
,password,这样就加上了数据库,在connect就可以用了
⑵ PB内置Oracle数据库接口的使用方法[2]
培液 )类似地当传递的参数为数组(后台称PL/SQL Table)时 声明参数为相应类型的动态数组 并在每次调用前设置数组上界弊中纤为足够大的值 例如 DEV用户的DEPT包中声明了TYPE tbl name IS TABLE OF VARCHAR ( ) INDEX BY BINARY INTEGER;存储过程EMP OF DEPT(dept id IN NUMBER name OUT DEPT tbl name)返回部门编写为dept id的部门的所有员工 置name数组中 假定所租仿有部门的员工数目不超过 则可用以下语句声明和调用DEV EMP OF DEPT:
Declare External Functions对话框中
Subroutine EMP OF DEPT(long dept id
ref string name[]) RPCFUNC ALIAS FOR ″DEV EMP OF DEPT″
PowerScript脚本中
long ln=dept id
string lsa name[]
……
lsa name[ ]=″ //置动态数组lsa name上界为
ln dept id=
SQLCA EMP OF DEPT(ln dept id lsa name) /
/检索部门 的所有员工的名字
方法二使用方法
在脚本中加入如下编码(以DEV TEST为例)
long ln id
string ls name
ln id=
DECLARE test PROCEDURE FOR DEV TEST( ln id)
//test有一个IN参数 一个OUT参数
EXECUTE test;
FETCH test INTO:ls name;
方法三使用方法
根据输入输出参数的不同 PB中的动态SQL语句有四种格式
)无输入输出参数 )只有输入参数 无输出参数 )有确定数目输入输出参数 )输出结果列的数目不定 其中第 ) 第 )中格式的动态SQL语句也可用来调用简单的存储过程
)没有输入输出参数的存储过程 例如DEVDEMO 存储过程没有输入输出参数 可用下列语句调用
sqlstring=″EXECUTE DEMO ()″
EXECUTE IMMEDIATE:sqlstring;
)只有输入参数的存储过程 例如DEV DEMO (name IN VARCHAR birthday IN DATE)
PREPARE SQLSA FROM ″EXECUTE DEMO (? ?) ″
EXECUTE SQLSA USING:ls name :ldt birthday;
如果是 以下版本的Oracle 可用方法四PBDMBS Put Line()函数调用建立存储过程 此时需选上Database Profile中的PBDBMS复选框
存储过程作为数据窗口的数据源
以一个简单数据窗口(显示服务器的系统时间)为例说明怎样创建存储过程作为数据源的数据窗口
)在某个包(如PACK TYPE)中定义日期类型的Recorder自定义数据类型datarec;
)创建返回系统时间的存储过程
PROCEDURE get sysdata(sysdt IN OUT PACK TYPE datarec)IS
BEGIN
open sysdt for select sysdate from al;
END;
)新建数据窗口 数据源选择Stored Procere;
)在随后的Select Stored Procere对话框中选择get sysdate即可
如果作为数据源的存储过程有IN参数 则这些参数就是数据窗口的检索参数(Retrieve Argument)
lishixin/Article/program/PB/201311/24642
⑶ pb 连接ORACLE ,数据窗口按条件查询
这个很简卖好桐单,有两种方法中坦。
第一种,数据窗口带参数,参数就是起始日期和截止日期
第二种,动态SQL,在PB的脚本中使用GETSQLSELECT和SETSQLSELECT函数袜芹改变数据窗口后台的SQL语句。
去年同期数据对比,不知道你要查询的是什么,不过你可以在数据窗口的where语句中增加一个子查询。例如:
select rq,
id,
je,
(select sum(je) from custom where ...) //此处一定是返回唯一一行的
from custom
where 日期 between :起始日期 and :截止日期的23点59分59秒
⑷ PB内置Oracle数据库接口的使用方法[1]
PowerBuilder(PB)和Oracle分别是前端开发工具和RDBMS的主流产品 PB提供了两种与Oracle连接的接口 PowerSoft内置的数据库接口(Native Database Interface)和ODBC接口
PowerBuilder与Oracle的连接
假定已安装Oracle客户端应用程序 可用Sqlplus或Tnsping等是否能连接到Oracle数据库 确定在SQL*NET配置文件中使用的数据库别名(Database Alias 又称服务器名 Server Name) 如有疑问 可在Oracle客户端程序目录下tnsname ora文件中找到 另外保证搜索路径已包括SQL*NET应用程序的安装目录(如C:ORAWIN BIN)
进入PB的Database Profiles画笔 可看到所有已安装的数据库接口(PB 缺省安装的是Oracle 版的接口 如使用低版本的Oracle 需在安装时指定) 选择 O Oracle 点击 New 按钮 进入Database Profile Setup对话框 在 Connection 页输入下列信息 Profile Name:为该Database Profile起一个有意义的名称 Server:@TNS:ServerName 其中ServerName为上述数据库别名(服务器名) 如@TNS:ORA ;注意 PB 则没有前面那个@TNS:!!!
Login ID:Oracle数据库中实际的用户名 由于PB初次连接到数穗册据库时要自动建立五个系统表(PowerBuilder Catalog Table:PBCATTBL PBCATCOL PBCATEDT PBCATFMT PBCATVLD 存储表的扩展属性) 因此第一个连接到Oracle的用户必须具有建表 给PUBLIC角色授权等权限 例如可用SYSTEM用户进行第一次连接 此后的连接对用握族滚户则无特殊要求
Password:该用户的口令
设置上述内容后 即可连上Oracle 为优化数据库连接 还可设置下列选项
Prompt for Database Information:连接时是否提示用户输入用户名和口令
Generate Trace:启动DB跟踪工具 跟踪连接
Thread Safe:开发需要多线程环境支持的分布式应用时 选择该项 缺省为未选 适用于非分布应用
PBDBMS:与存储过程调用方式有关的参数 Oracle为 或更高版本时 清除该选项 此时带IN OUT参数的存储过程可作为数据窗口数据源 版本以下 选择该项 调用PBDBMS Put Line建立存储过程的SQL语句 缺省是选中
Commit on Disconnect:断开连接时 指定提交或回退未提交的事务
Case Sensitive:连接的Oracle服务器是否区分大小写 注意该项选中时段余 所有主键 包含主键的表名 外键须全为大写字符
PowerBuilder Catalog Tables Owner:指定拥有PB系统表的用户 缺省为 SYSTEM 如果要使用多种显示格式或有效性规则 可以在不同的用户下建立几套系统表
Table Criteria:指定满足哪些条件的表 视图和同义词可在 Select Tables 对话框中显示出来 例如DEV用户下销售子系统的表都以SALE开头 则可以用SALE% DEV TABLE VIEW 指定只显示DEV用户以SALE开头的表和视图
Asynchronous:选择该项 可在一个复杂的SQL语句执行过程中 返回第一行结果前 切换到其他操作
Number of Seconds to Wait:若上一项选中 还可进一步通过该项指定检索数据时 等待数据库响应的时间
Retrieve Blocking Factor:决定数据窗口对象一次可从数据库取出的记录数
Number of SQL Staments Cached:PB可将数据窗口对象产生的SQL语句和嵌入式SQL语句保存在SQL语句缓冲区 该参数指定缓冲区为PB保留的SQL语句数目 该数值可由下式计算 SQLCache=服务器OPEN CURSORS数 (保留的游标数) 本连接预期使用的最大游标数
Disable Bind:指定是否将输入变量与SQL语句绑定 此参数影响PB为数据窗口对象生成INSERT语句的方式
Static Bind:数据窗口对象检索数据前是否检测SELECT语句的合法性
在Syntax页 还可指定日期 时间的格式等 在Preview页可查看Database Profile设置对应的PowerScript写法
Oracle存储过程的使用
归纳起来PB 中调用Oracle存储过程有以下四种方法
方法一 以关键字RPCFUNC声明存储过程
方法二 以DECLARE PROCEDURE语句声明存储过程
方法三 以动态SQL语句实现
方法四 调用函数PBDBMS Put Line
一般情况下 方法一能得到较好的运行效率和更完善的功能 因此推荐使用方法一 但是某些类型的存储过程只能使用其他方法 以下重点介绍方法一和方法二
两种方法比较起来 有以下几点主要区别
)方法一适用于具有IN OUT和IN OUT参数的存储过程 而方法二仅支持IN和OUT参数 不支持IN OUT参数
)方法一对参数的数目无限制 方法二最多支持 个参数
)方法一不支持记录(Recorder)的传递 方法二可传递和接收记录
方法一操作步骤
)在用户对象画笔中创建一个Class Standard类型的 从Transaction继承的用户对象
)在此用户对象中 声明Local External Functions 将存储过程以RPCFUNC关键字声明为外部函数 在Declare Local External Functions对话框中按Proceres按钮选择要调用的后台存储过程 或直接输入类似subroutine TEST(long id ref string name)RPCFUNC ALIAS FOR DEVTEST 的语句 例如DEVTEST的参数为(id IN NUMBER name IN OUT VARCHAR )
)保存该用户对象
)在Application画笔中 进入应用属性对话框 在Variable Types页 将上Transaction用户对象设置为缺省的全局变量SQLCA
)脚本中 编码调用相应的外部函数 形式 SQLCA函数名(参数) 如可用 SQLCATEST(ln id ls name) 调用例子中定义的DEVTEST存储过程 其中ln id ls name为调用参数
方法一注意事项
)由于PB中String类型的数据长度是动态分配的 因此对Ref String类型的参数 每次调用前需要申请足够的空间 例如上例从输入的id值检索name 后台声明的NAME数据类型为VARCHAR ( ) 每次调用SQLCATEST前需要用ls name=SPACE( )置ls name为足够长度的空串
lishixin/Article/program/PB/201311/24641
⑸ 如何使用oracle建立数据库
在“欢迎”窗口,单击下一步。步骤 2.从 DBCA, 步骤 1(共 8 个步骤):“操作”窗口,单击创建数据库。步骤 3.从步骤 2(共 8 个步骤):“数据库模板”窗口,单击常规用途模板,然后单击下一步。步骤 4.从步骤 3(共 7 个步骤):“数据库标识”窗口,在全局数据库名称字段输入 Tivoli Privacy Manager 数据库的名称然后单击下一步。步骤 5.从步骤 4(共 7 个步骤):“数据库连接选项”窗口,选择在缺省情况下您需要您的数据库工作的模式。单击未用模式或分享服务器模式并单击下一步。步骤 6.从步骤 5(共 7 个步骤):“初始化参数”窗口的字符集选项卡上,单击使用 Unicode (AL32UTF8)。步骤 7.从“数据库存储器”窗口,单击下一步。步骤 8.从步骤 7(共 7 个步骤):“创建选项”窗口,单击完成。步骤 9.从“摘要”窗口,单击确定来启动创建数据库。步骤 10.当数据库创建过程完成时,单击完成。步骤 11.提示输入 SYSTEM 和 SYS 用户标识密码。这些用户标识是数据库的管理员标识。输入密码后,单击退出
⑹ pb 怎么连接 Oracle
进入控制面板,打开odbc数据源(32位),点击“add”按钮,进入odbc数据源的配置面板,:
选择“oracle odbc driver”一项,注意当前版本号为“8.00.0400”,如果你的操作系统中安装的是oracle7,则相应的版本号会不同。纤辩
然后进入“oracle8 odbc driver setup”设置,在“data source name”一项中随便输入一个名字,在“data source service name”一栏缺则中输入oracle连接数据库的字符串名,这可以在你安装的oracle目录中的tnsnames.ora文件中查看到(oracle7安装路径为“orawin95 etwork admin”;oracle8安装路径为“orawin95 et80admin”),或者你通过“sql net easy configuration”新添加一个数据库连接配置,将配置中的字符串填入即可,其他的就不必再填入,避免出现画蛇添足之错,反而连接不上数据库了。
进入pb,打开db profile,选择odbc一项,点击“new”,进入pb数据源的配置,当然如果你之前没有进行odbc的配伏竖棚置,你也可以在这里点击“config odbc”进入之前你看到的odbc配置界面。