⑴ 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配置界面。