db2存儲庫
放在裸設備上I/O快,性能好,但是擴展性不好,浪費資源
放在文件系統上缺點就是比裸設備慢
自己抉擇,不差錢就裸設備,預留足夠的空間
『貳』 請問如何給DB2資料庫的存儲過程中 where 的in 條件傳參數
create
or
replace
procere
test(in
in_where
varchar(100))
--創建一個
存儲過程
test,並可以傳入字元串作為參數
declare
v_sql
varchar(512);
set
v_sql
=
'
delete
from
table1
where
field1
in
('
concat
in_where
concat
')
'
;
--
這里是把傳進來的where語句拼起來
execute
immediate
v_sql;
--這里是把語句進行執行
------
---類似以上這樣的存儲過程,使用以下的放在進行執行即可:call
test(
'
''001'',''002''
')
;
--內容中的一個『
需要使用
』『
進行
轉義
『叄』 如何在DB2中執行存儲過程
1、db2
create
database
資料庫名
<--
創建資料庫
2、db2
connect
to
資料庫名
user
用戶名
using
用戶密碼
<--
連接資料庫
3、db2
-tvf
otpdb_v3_db2.sql
<--
為新建資料庫建立表結構
4、db2
-td@
-f
存儲過程文件絕對路徑
<--
導入存儲過程,無錯誤會提示成功
4、調用存儲過程:
Windows
下:db2
call
存儲過程名(參數1,參數2)
AIX
下:db2
<--
要先進入DB2,方可調用存儲過程或執行SQL語句
db2=>call
存儲過程名(參數1,參數2)
5、驗證插入數據是否成功
Windows
下:db2
select
count(*)
from
FTOTP_USERINFO
AIX
下:db2
<--
要先進入DB2,方可調用存儲過程或執行SQL語句
db2=>select
count(*)
from
FTOTP_USERINFO
Windows
下:db2
select
count(*)
from
FTOTP_TOKENINFO
AIX
下:db2
<--
要先進入DB2,方可調用存儲過程或執行SQL語句
db2=>select
count(*)
from
FTOTP_TOKENINFO
6、db2
SELECT
TOKEN,
PUBKEY
FROM
FTOTP_TOKENINFO
FETCH
FIRST
10000
ROWS
ONLY
>
要保存文件的絕對全路徑
<--
從
DB2
中導出前一萬條記錄
windows
-
e.g.
db2
SELECT
TOKEN,
PUBKEY
FROM
FTOTP_TOKENINFO
FETCH
FIRST
10000
ROWS
ONLY
>
c:\abc.txt
AIX
-
e.g.
db2
SELECT
TOKEN,
PUBKEY
FROM
FTOTP_TOKENINFO
FETCH
FIRST
10000
ROWS
ONLY
>
c:\abc.txt
<--
注意:不能先進入DB2,執行查詢與導出命令組合
7、db2
drop
procere
存儲過程名
<--
刪除存儲過程
8、db2
drop
database
資料庫名
<--
刪除指定名稱的資料庫
注,如果刪除時提示有應用程序連接到這個資料庫上,可以用如下命令斷開所有應用程序的連接:
db2
force
application
all
<--
斷開所有應用程序的連接
『肆』 DB2如何查看當前當前資料庫有哪些存儲過程
可以這么考慮!db2ilist:列出db2所有實例db2getinstance:顯示當前實例db2listdbdirectory:列出當前實例下的所有資料庫db2listactivedatabases:列出當前連接的資料庫db2listapplications:列出所有對資料庫的連接。(這個應該就是你要的,直接列出連接的詳細信息,包括哪些內容自己看吧)
『伍』 DB2資料庫中的表在硬碟上的存儲位置在哪
這個得查,先查資料庫的位置,再查表所屬的表空間,現查表空間的存儲位置,
執行db2cmd
查看本機所有的資料庫編目
db2 list db directory
聯接資料庫
db2 connect to db_name user uid using pwd
查看錶空間位置
db2 list tablespaces show detail
重裝資料庫後,只要原數據的文件沒有刪除,可以用catalog db 載入機器上原有的資料庫,但是只載入一個表空間或一個表我覺得實現不了。
『陸』 db2資料庫存儲帶樣式的html數據
在DB2中,一個資料庫只能屬於一個實例,一個實例可以對應多個資料庫,所以實例和資料庫的關系是一對多。
每個資料庫是由一組對象組成的,如:表、視圖、索引等。表是二維結構,由行和列組成,表數據存放在表空間里,表空間是資料庫的邏輯存儲層,每個資料庫可以包含多個表空間,每個表空間只能歸屬於一個資料庫,所以資料庫和表空間的關系是一對多。
所以DB2資料庫的邏輯結構分別為:實例-->資料庫-->表空間-->表。
物理結構:
每個表空間由一個或多個容器組成,容器是映射到物理存儲,容器可以是目錄、文件、裸設備。每個容器只能屬於一個表空間。根據數據管理方式,表空間可以分為系統管理(SMS)、資料庫管理(DMS)
DB2將表和索引存儲在PAGE頁里,page是db2中最小的物理分配單元,表中的每行數據只能包含在一頁中,不能跨頁。DB2支持的頁大小分為:4K、8K、16K、32K四種,當DB2在讀取數據的時候,不是按頁讀取,而是按照extent(塊)讀取,一個extent是由一組連續的頁組成。如果一個表空間有多個容器,為了數據均衡的分布,所以在寫數據的時候,按照循環的方式在各個容器里寫數據,當一個容器中寫滿一個extent的時候,將開始在第二個容器繼續寫extent,周而復始,可以提高讀寫的效率。
每個表空間由一個或多個容器組成,表空間為邏輯層次中,而真正的數據是存放在容器中的,容器是由多個extent組成。
DB2的存儲模型為:表空間---->容器---->extent------>page.。
在V8中,當每個PAGE的大小為32K的時候,表空間最大隻能容納256G。
在V9開始,當每個PAGE的大小為32K的時候,表空間最大可以容納16T。這就是大表空間(large)。從V9開始,默認創建的數據表空間均為大表空間。
『柒』 如何給DB2資料庫的存儲過程中 where 的in 條件傳參數
create
or
replace
procere
test(in
in_where
varchar(100))
--創建一個存儲過程test,並可以傳入字元串作為參數
declare
v_sql
varchar(512);
set
v_sql
=
'
delete
from
table1
where
field1
in
('
concat
in_where
concat
')
'
;
--
這里是把傳進來的where語句拼起來
execute
immediate
v_sql;
--這里是把語句進行執行---------類似以上這樣的存儲過程,使用以下的放在進行執行即可:call
test(
'
''001'',''002''
')
;
--內容中的一個『
需要使用
』『
進行轉義
『捌』 Oracle,db2是什麼
Oracle和DB2是兩種不同的資料庫。
Oracle:
Oracle是甲骨文公司的一款關系資料庫管理系統。
ORACLE資料庫系統是美國ORACLE公司(甲骨文)提供的以分布式資料庫為核心的一組軟體產品,是目前最流行的客戶/伺服器(CLIENT/SERVER)或B/S體系結構的資料庫之一。比如SilverStream就是基於資料庫的一種中間件。ORACLE資料庫是目前世界上使用最為廣泛的資料庫管理系統,作為一個通用的資料庫系統,它具有完整的數據管理功能;作為一個關系資料庫,它是一個完備關系的產品;作為分布式資料庫它實現了分布式處理功能。
DB2:
全稱為IBM DB2。是美國IBM公司開發的一套關系型資料庫管理系統,它主要的運行環境為UNIX(包括IBM自家的AIX)、Linux、IBM i(舊稱OS/400)、z/OS,以及Windows伺服器版本。
DB2主要應用於大型應用系統,具有較好的可伸縮性,可支持從大型機到單用戶環境,應用於所有常見的伺服器操作系統平台下。 DB2提供了高層次的數據利用性、完整性、安全性、可恢復性,以及小規模到大規模應用程序的執行能力,具有與平台無關的基本功能和SQL命令。DB2採用了數據分級技術,能夠使大型機數據很方便地下載到LAN資料庫伺服器,使得客戶機/伺服器用戶和基於LAN的應用程序可以訪問大型機數據,並使資料庫本地化及遠程連接透明化。 DB2以擁有一個非常完備的查詢優化器而著稱,其外部連接改善了查詢性能,並支持多任務並行查詢。 DB2具有很好的網路支持能力,每個子系統可以連接十幾萬個分布式用戶,可同時激活上千個活動線程,對大型分布式應用系統尤為適用。
『玖』 如何執行db2存儲過程
1、db2 create database 資料庫名 <-- 創建資料庫
2、db2 connect to 資料庫名 user 用戶名 using 用戶密碼 <-- 連接資料庫
3、db2 -tvf otpdb_v3_db2.sql <-- 為新建資料庫建立表結構
4、db2 -td@ -f 存儲過程文件絕對路徑 <-- 導入存儲過程,無錯誤會提示成功
4、調用存儲過程:
Windows 下:db2 call 存儲過程名(參數1,參數2)
AIX 下:db2 <-- 要先進入DB2,方可調用存儲過程或執行SQL語句
db2=>call 存儲過程名(參數1,參數2)
5、驗證插入數據是否成功
Windows 下:db2 select count(*) from FTOTP_USERINFO
AIX 下:db2 <-- 要先進入DB2,方可調用存儲過程或執行SQL語句
db2=>select count(*) from FTOTP_USERINFO
Windows 下:db2 select count(*) from FTOTP_TOKENINFO
AIX 下:db2 <-- 要先進入DB2,方可調用存儲過程或執行SQL語句
db2=>select count(*) from FTOTP_TOKENINFO
『拾』 DB2資料庫如何存儲圖片
建議將圖片上傳到伺服器,上傳命令中將圖片路徑記錄在數據表中。
顯示需要調用圖片時,讀取表中的圖片路徑,再通過圖像標簽輸出圖片。