1. db2的sqc文件里怎麼連接資料庫
1.首先把自己編輯好的SQC文件(如:test.sqc)放在指定的目錄下。
2.正式開始編譯前,需要和DB2資料庫(如:TESTDB)建立連接。
以linux環境為例,在命令行狀態下,輸入:db2
connect
to
TESTDB
3.調用DB2的prep命令對SQC文件進行預編譯,用來生成C文件。
在命令行狀態下,輸入:db2
prep
test.sqc
BINDFILE
package
using
bindtest
說明:
上述命令中的「BINDFILE」是用來指定在做預編譯的同時生成bind文件的(如:bindtest.bnd)
上述命令中的「package
using
bindtest」是用來指定將要寫入到DB2的系統表中的package信息的名稱(如:bindtest)。
bind文件里記載的是用來寫入到package信息的數據。
4.調用DB2的bind
命令從上一步生成的bind文件中讀出必要的數據寫入到上一步指定名稱的package信息中。
並可以給這條信息指定訪問許可權。
以linux環境為例,在命令行狀態下,輸入:db2
bind
ConnTEST.bnd
GRANT
PUBLIC
5.到目前為止可以說與DB2相關的所有預編譯就基本完成了,我們需要的C文件(如:test.c)也整成生成了,那個bind文件後邊暫時不會用到了。
下來就可以調用CC或GCC之類的C代碼編譯器對這個C文件進行編譯,基本的過程是test.c→test.o→test。這樣我們就可以執行這個最終的可實行程序了。
2. 循序漸進DB2的編輯推薦
◆ 本書有豐富的DB2運行維護實踐案例,讀者可以通過這些案例加深對DB2認識和理解。
◆ 面對眾多DB2的特點、特性,作者精心選擇了與DBA日常工作關系最密切的部分,由易入難逐步講解。
◆ 本書中包含了大量的提示點等,這些都是作者對DB2維護工作總結後得到的經驗。
◆ 本書總結了DB2常見問題總結和解決方法,對DBA的日常維護非常有參考價值。 1.1 DB2資料庫概述
1.1.1 DB2發展歷史
1.1.2 DB2版本和平台支持
1.1.3 DB2產品組件和功能
1.2 DB2資料庫安裝配置
1.2.1 DB2在Windows上的安裝
1.2.2 DB2在Linux/UNIX上的安裝
1.3 DB2資料庫體系結構 2.1 實例
2.1.1 實例概念
2.1.2 創建實例
2.1.3 實例目錄
2.1.4 實例相關命令
2.1.5 DB2INSTANCE變數介紹
2.1.6 刪除實例
2.1.7 配置實例
2.2 管理伺服器
2.2.1 管理伺服器概念
2.2.2 創建管理伺服器
2.2.3 管理伺服器相關命猜豎令
2.2.4 刪除DB2管理伺服器
2.2.5 配置管理伺服器 3.1 創建資料庫
3.1.1 DB2資料庫存儲模型
3.1.2 表空間管理類型
3.1.3 創建資料庫
3.1.4 資料庫目錄
3.2 表空間設計
3.2.1 創建表空間
3.2.2 表空間維護
3.2.3 表空間設計注意事項
3.2.4 prefechsize大小選擇
3.2.5 文件系統(CIO/DIO)和裸設備
3.2.6 OVERHEAD和TRANSFERRATE設置
3.2.7 優化RAID設備上表空間性能
3.2.8 合理設置系統臨時表空間
3.3 緩沖池
3.3.1 緩沖池的使用方法
3.3.2 緩沖池和表空間之間關系
3.3.3 緩沖池維護
3.3.4 緩沖池設計原則
3.4 本章小結 4.1 訪問DB2
4.2 DB2圖形化操作環境
4.3 DB2 CLP處理程序
4.3.1 DB2 CLP簡介
4.3.2 DB2 CLP設計
4.3.3 DB2 CLP命令選項
4.3.4 設置DB2_CLPPROMPT定製DB2 CLP
4.4 配置DB2伺服器的TCP/IP通信
4.4.1 在伺服器上更新services文件
4.4.2 在伺服器上更新資料庫管理器配置文件
4.4.3 設置DB2伺服器的通信協議
4.4.4 查看伺服器通信埠狀態
4.4.5 使用控制中心配置DB2伺服器通信
4.5 配置客戶機至伺服器通信
4.5.1 客戶機至伺服器通信概述
4.5.2 使用控制中心配置客戶端通信
4.5.3 使用CA配置客戶機到伺服器通信
4.5.4 深入了解DB2節點目錄、資料庫目錄
4.5.5 使用CLP配置客戶機到伺服器通信案例
4.6 本章小結 5.1 模式
5.1.1 模式概念
5.1.2 系統模式
5.1.3 設置和獲得當前模式
5.1.4 模式和用戶的區別
5.2 表設計考慮
5.2.1 選擇合適的數據類型
5.2.2 選擇合適的約束類型
5.2.3 使用not null with default
5.2.4 生成列及穗攜大應用案例
5.2.5 自動編號和標識列應用案例
5.2.6 使用not logged initially特性
5.2.7 使用append on特性
5.2.8 數據、索引和大對象分開存放
5.2.9 設置pctfree
5.2.10 表的locksize
5.2.11 表的volatile特性
5.2.12 創建帶XML列的表
5.2.13 表維護相關命令
5.2.14 表設計高級選項
5.3 索引設計
5.3.1 索引優點
5.3.2 索引類型
5.3.3 索引結構隱宴
5.3.4 理解索引訪問機制
5.3.5 創建集群索引
5.3.6 創建雙向索引
5.3.7 完全索引訪問(index access only)
5.3.8 創建索引示例
5.3.9 索引總結
5.4 使用序列提高性能
5.4.1 應用程序性能和序列
5.4.2 設計序列原則
5.4.3 序列維護
5.4.4 比較序列與標識列
5.5 視圖
5.5.1 視圖類型
5.5.2 創建with check option視圖
5.5.3 視圖維護
5.6 表表達式
5.6.1 嵌套的表表達式
5.6.2 公用表表達式
5.7 觸發器設計
5.7.1 觸發器的類型
5.7.2 創建觸發器示例
5.7.3 觸發器設計總結
5.8 本章小結 6.1 數據移動格式
6.1.1 定界ASCII文件格式
6.1.2 非定界ASCII文件格式
6.1.3 PC/IXF文件格式
6.1.4 工作表文件格式
6.1.5 游標
6.2 EXPORT
6.2.1 EXPORT概述
6.2.2 導出數據
6.2.3 導出數據示例
6.3 IMPORT
6.3.1 IMPORT概述
6.3.2 導入數據
6.3.3 導入數據示例
6.4 LOAD
6.4.1 LOAD概述
6.4.2 裝入數據
6.4.3 裝入示例
6.4.4 在線LOAD
6.4.5 監控LOAD進度
6.4.6 LOAD期間和之後的表空間狀態
6.4.7 使用CURSOR文件類型來移動數據
6.4.8 提高LOAD性能
6.4.9 LOAD失敗恢復
6.4.10 LOAD和IMPORT比較
6.5 數據移動性能問題
6.6 DB2MOVE和DB2LOOK
6.6.1 資料庫移動工具——DB2MOVE
6.6.2 DB2 DDL提取工具(DB2LOOK)
6.6.3 利用DB2MOVE和DB2LOOK移動數據案例
6.6.4 帶COPY操作的DB2MOVE實用程序
6.7 本章小結 7.1 恢復概念
7.1.1 崩潰恢復
7.1.2 災難恢復
7.1.3 版本恢復
7.1.4 前滾恢復
7.2 DB2日誌
7.2.1 日誌文件的使用
7.2.2 日誌類型
7.2.3 日誌相關配置參數
7.2.4 資料庫日誌總結
7.3 資料庫和表空間備份
7.3.1 資料庫備份
7.3.2 表空間備份
7.3.3 增量備份
7.3.4 檢查備份完整性——db2ckbkp
7.4 資料庫和表空間恢復
7.4.1 資料庫恢復
7.4.2 表空間恢復
7.4.3 增量恢復
7.4.4 增量恢復檢查-- db2ckrst
7.4.5 重定向恢復
7.4.6 恢復已drop的表
7.5 資料庫和表空間前滾
7.5.1 資料庫前滾
7.5.2 表空間前滾
7.6 RECOVER實用程序
7.7 恢復歷史文件
7.8 資料庫重建
7.8.1 資料庫重建概念
7.8.2 使用表空間備份重建可恢復資料庫
7.8.3 只使用部分表空間備份重建可恢復資料庫
7.8.4 使用包含日誌文件的在線備份重建資料庫
7.8.5 使用增量備份鏡像重建可恢復資料庫
7.8.6 使用重定向選項重建可恢復資料庫
7.8.7 重建不可恢復資料庫
7.8.8 資料庫重建的限制
7.9 監控備份、復原和恢復進度
7.10 備份、恢復和復原期間表空間狀態
7.11 優化備份、復原和恢復性能
7.12 備份恢復最佳實踐 8.1 DB2故障診斷機制
8.1.1 故障診斷相關文件
8.1.2 收集故障診斷信息
8.1.3 設置故障診斷級別
8.2 深入講解故障診斷文件
8.2.1 解釋管理通知日誌文件條目
8.2.2 解釋診斷日誌文件條目
8.3 故障診斷工具
8.3.1 使用db2support收集環境信息
8.3.2 db2ls和db2level
8.3.3 使用db2diag分析db2diag.log文件
8.3.4 db2pd
8.3.5 DB2內部返回碼
8.4 故障診斷分析流程
8.4.1 故障診斷流程
8.4.2 結合系統事件判斷
8.4.3 結合系統運行狀況診斷
8.5 本章小結 9.1 監控工具概述
9.2 快照監視器
9.2.1 快照監視器概述
9.2.2 利用表函數監控
9.2.3 性能管理視圖
9.3 快照監視器案例
9.3.1 監控案例1-動態SQL語句
9.3.2 監控案例2-通過表函數監控
9.3.3 編寫快照監控腳本
9.4 db2pd及監控案例
9.5 事件監視器及監控案例
9.6 db2mtrk及監控案例
9.7 活動監視器
9.8 DB2性能監控總結 10.1 鎖的概念
10.1.1 數據一致性
10.1.2 事務和事務邊界
10.1.3 鎖的概念
10.2 鎖的屬性、策略及模式
10.2.1 鎖的屬性
10.2.2 加鎖策略
10.2.3 鎖的模式
10.2.4 如何獲取鎖
10.2.5 鎖的兼容性
10.3 隔離級別(Isolation Levels)
10.3.1 可重復讀(RR-Repeatable Read)
10.3.2 讀穩定性(RS-Read Stability)
10.3.3 游標穩定性(CS-Cursor Stability)
10.3.4 未提交讀(UR-Uncommitted Read)
10.3.5 隔離級別的摘要
10.4 鎖轉換、鎖等待、鎖升級和死鎖
10.4.1 鎖轉換及調整案例
10.4.2 鎖升級及調整案例
10.4.3 鎖等待及調整案例
10.4.4 死鎖及調整案例
10.5 鎖相關的性能問題總結
10.6 鎖與應用程序設計
10.7 鎖監控工具
10.8 最大化並發性
10.8.1 選擇合適的隔離級別
10.8.2 盡量避免鎖等待、鎖升級和死鎖
10.8.3 設置合理的注冊變數
10.9 鎖和並發總結 11.1 統計信息更新
11.1.1 統計信息的重要性
11.1.2 使用RUNSTATS 收集統計信息的原則
11.1.3 減小RUNSTATS對系統性能影響的策略
11.1.4 DB2自動統計信息收集
11.2 Runstats更新舉例
11.2.1 RUNSTATS更新示例
11.2.2 收集分布式統計信息
11.2.3 包含頻率和分位數統計信息的RUNSTATS
11.2.4 包含列組統計信息的RUNSTATS
11.2.5 包含LIKE STATISTICS的RUNSTATS
11.2.6 包含統計信息配置文件的RUNSTATS
11.2.7 帶有抽樣的RUNSTATS
11.2.8 帶有系統頁級抽樣的RUNSTATS
11.2.9 收集統計信息的其他可供選擇的方法
11.2.10 RUNSTATS總結
11.3 表和索引碎片整理
11.3.1 表重組(REORG)
11.3.2 索引重組
11.3.3 確定何時重組表和索引
11.3.4 重組表和索引的成本
11.3.5 合理設計以減少碎片生成
11.3.6 啟用表和索引的自動重組
11.4 碎片整理案例
11.4.1 執行表、索引檢查是否需要做REORG
11.4.2 表和索引碎片整理
11.5 案例:生成碎片檢查、統計信息更新、碎片整理和REBIND腳本
11.6 重新綁定程序包
11.7 資料庫運行維護總結 12.1 解釋工具
12.1.1 Visual Explain(可視化解釋)
12.1.2 db2expln
12.1.3 db2exfmt
12.1.4 各種解釋工具比較
12.1.5 如何從解釋信息中獲取有價值的建議
12.2 索引設計工具(db2advis)
12.2.1 DB2 Design Advisor(db2advis)
12.2.2 DB2 Design Advisor(db2advis)案例講解
12.3 基準測試工具db2batch
12.3.1 db2batch
12.3.2 db2batch基準程序測試分析示例
12.4 數據一致性檢查工具
12.4.1 db2dart及案例
12.4.2 inspect及案例
12.5 db2look
12.5.1 db2look概述
12.5.2 利用db2look構建模擬測試資料庫
12.6 其他工具
12.6.1 db2bfd
12.6.2 db2_kill和db2nkill
12.6.3 db2tbst
12.7 本章小結 13.1 DB2安全機制概述
13.2 認證(authentication)
13.2.1 什麼時候進行DB2身份認證
13.2.2 DB2身份認證類型
13.3 許可權(authorization)
13.3.1 許可權層次
13.3.2 授予/撤銷實例級許可權
13.3.3 授予/撤銷資料庫級許可權
13.4 特權
13.4.1 特權層次結構
13.4.2 授予特權
13.4.3 撤銷特權
13.4.4 顯式特權/隱式特權/間接特權
13.4.5 靜態和動態SQL特權考慮因素
13.4.6 維護特權/許可權
13.5 某銀行安全規劃案例
13.6 執行安全審計(db2audit)
13.7 基於標簽的訪問控制(LBAC)及案例
13.8 本章小結 14.1 DB2健康檢查
14.1.1 查看是否有僵屍實例進程
14.1.2 inspect資料庫是否一致
14.1.3 查找診斷日誌判斷是否有異常
14.1.4 檢查資料庫備份完整性、日誌歸檔是否正常
14.1.5 維護實例目錄和資料庫目錄許可權
14.1.6 查看磁碟空間
14.2 資料庫監控
14.2.1 監控工具
14.2.2 監控緩沖池命中率
14.2.3 監控執行成本最高的SQL語句
14.2.4 監控運行最長的SQL語句
14.2.5 監控SQL准備和預編譯時間最長的SQL語句
14.2.6 監控執行次數最多的SQL語句
14.2.7 監控排序次數最多的SQL語句
14.2.8 監控引起鎖等待的SQL語句
14.3 日常維護
14.3.1 查找創建的新對象
14.3.2 查找無效對象
14.3.3 檢查表空間狀態
14.3.4 檢查表狀態
14.3.5 查找需要REORG的表和索引
14.3.6 查找需要RUNSTATS的表和索引
14.3.7 定期清理db2diag.log文件
14.3.8 查找異常增長的表空間和表 15.1 實例常見問題和診斷案例
15.1.1 實例無法啟動問題總結
15.1.2 實例無法正常終止
15.1.3 實例啟動報SQL1042C錯誤
15.1.4 實例目錄誤刪除
15.1.5 實例崩潰問題
15.2 資料庫常見問題總結
15.2.1 資料庫日誌空間滿-- SQL0964C錯誤
15.2.2 資料庫時區和時間
15.2.3 中文亂碼和代碼頁轉換
15.2.4 通信錯誤-- SQL30081N
15.2.5 資料庫備份、前滾暫掛
15.2.6 資料庫活動日誌刪除
15.2.7 資料庫損壞(數據頁、索引頁)——SQL1043C
15.2.8 索引重新構建問題
15.2.9 DB2實用程序不可用
15.2.10 快速清空表數據
15.2.11 表和索引統計信息不一致
15.3 表空間狀態
15.3.1 Backup Pending
15.3.2 離線
15.3.3 Quiesced Exclusive|Share|Update 605
15.3.4 Restore Pending和Storage Must be Defined
15.3.5 Roll Forward Pending
15.3.6 表空間狀態總結
15.4 LOAD期間表狀態總結
15.4.1 Check Pending
15.4.2 Load Pending
15.4.3 Load in Progress
15.4.4 Not Load Restartable
15.4.5 Read Access Only
15.4.6 Unavailable
15.5 鎖相關問題
15.5.1 鎖升級
15.5.2 鎖等待問題解決流程
15.5.3 死鎖
15.6 內存常見問題
15.6.1 bufferpool設置過大資料庫無法啟動
15.6.2 排序溢出
15.6.3 鎖內存不足
15.7 備份恢復常見問題
15.8 數據移動常見問題總結
15.8.1 標識列
15.8.2 生成列
15.8.3 大對象
15.8.4 空值處理
15.8.5 定界符注意問題
15.8.6 PC/IXF注意問題
15.8.7 代碼頁不同注意事項
15.8.8 日期格式
15.8.9 XML問題
15.9 安全常見問題總結
15.9.1 從PUBLIC撤銷隱式的許可權和特權
15.9.2 保護系統編目視圖
15.9.3 創建實例用戶顯式指定組
15.9.4 為SYSxxx_GROUP參數使用顯式值
15.9.5 跟蹤隱式的特權
15.9.6 不授予不必要的特權
15.9.7 使用加密的AUTHENTICATION模式
15.9.8 使用獨立ID創建和擁有對象
15.9.9 使用視圖控制數據訪問
15.9.10 使用存儲過程式控制制數據訪問
15.9.11 使用LBAC控制數據訪問
15.9.12 對重要敏感數據加密
15.10 SQL0805和SQL0818錯誤
3. java程序讀取db2資料庫中所有數據表以及表數據,創建到mysql資料庫中
因為我沒有轉載DB2 所以沒有辦法幫你寫出具體的sql語句,也不能測試.我oracle 為例吧.
1.不管java 連接那個資料庫都是一樣的.
Class.forName(dir);
String url = "";//資料庫名,用戶名和密碼
Connection conn = DriverManager.getConnection(url);
Statement stat = conn.createStatement();
// 執行你想要執行的sql語句.下面是查詢,修改和刪除有點不一樣.
ResultSet rs = stat.executeQuery(sql);
你可以通過select table_name from user_tables; 這個sql語句查詢才出資料庫裡面所有的表.
再通過 select * from ALL_TAB_COLS A where lower(A.Table_Name) = '表名' 查詢出某一個表的相關信息.這樣是有點繁瑣,不過不失為一種解決方法.
2 .讀取數據就更容易侍核了.
直接執行select 就可以了.
3. 幫剛剛讀出來的表結構組裝成建表語句. create 一下就可以了.
4.關於數據類型我也不是很清楚,你可以在網上查一查db2有哪些數據類型.然後在建表的時候做一下兒轉換就可以了.
5.你說的也就是把剛剛查詢出做棚來老胡掘的數據插入到資料庫中.insert 就可以了.
其實java 操作資料庫很簡單的.不同於c.查詢出來後,做適當的組裝處理.就可以得到你想要的結果.
希望對你有幫助.
4. C語言的數據類型分為幾種
short、int、long、char、float、double
這六個關鍵字代表C 語言里的六種基本數據類型。
在不同的系統上,這些類型占據的位元組長度是不同的:
在32
位的系統上
short
占據的內存大小是2 個byte;
int占據的內存大小是4
個byte;
long占據的內存大小是4
個byte;
float占據的內存大小是4
個byte;
double占據的內存大小是8
個byte;
char占據的內存大小是1
個byte。
具體可以用sizeof測試一下即可。
(4)db2c預編譯程序數據類型擴展閱讀:
C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
5. C語言db2嵌入式SQL編程,編譯問題 undefined reference to `sqlastrt'
1、要有類似的定義:
……
EXEC SQL INCLUDE SQLDA; /* or #include <sqlda.h> */
2、編譯環境要有db2的許可權和sqllib的路徑
3、我已經上傳了一份相關的文檔,預計明後天審核通過就可以看到了
《DB2開發基礎》
http://passport..com/?business&aid=6&un=chinacmouse#7
補充一個程序:
#include <time.h>
#include "stdio.h"
EXEC SQL INCLUDE SQLCA;
int main()
{
int i=0;
struct tm *pt;
time_t t1;
t1 = time(NULL);
pt = localtime(&t1);
printf("%4d%02d%02d", pt->tm_year+1900, pt->tm_mon+1, pt->tm_mday);
printf("%02d:%02d:%02d\n",pt->tm_hour,pt->tm_min,pt->tm_sec);
EXEC SQL CONNECT TO db;
i=0;
while (i<3000)
{
int j=0;
while (j<1000)
{
EXEC SQL update cc.fund set cc_code='095' where cc_no='0950031359';
j++;
}
i++;
}
EXEC SQL COMMIT;
t1 = time(NULL);
pt = localtime(&t1);
printf("%4d%02d%02d", pt->tm_year+1900, pt->tm_mon+1, pt->tm_mday);
printf("%02d:%02d:%02d\n",pt->tm_hour,pt->tm_min,pt->tm_sec);
EXEC SQL CONNECT RESET;
return 1;
}
編譯腳本:
db2 prep testdb.sqc target cplusplus bindfile using testdb.bnd package using testdb
db2 bind testdb.bnd
db2 grant execute on package testdb to public
gcc -I/app/db2inst1/sqllib/include -I./ -c -g testdb.C
gcc -L/app/db2inst1/sqllib/lib -ldb2 -L/usr/lib -lm -o testdb testdb.o
6. JAVA JDBC連接DB2資料庫問題
JAVA連接DB2
/**了解基礎情況**/ 對於Java程序員而言,DB2 提供了兩種應用程序編程介面(API):JDBC 和 SQLJ。
JDBC:
JDBC 驅動程序分為舊的/CLI 驅動程序<db2java.zip>和新的通用 JDBC 驅動程序(Universal JDBC Driver)<db2jcc.jar>。
JDBC 是一個與供應商無關的動態 SQL 介面,該介面通過標准化的 Java 方法向您的應用程序提供數據訪問。
JDBC 類似於 DB2 CLI,因為您無須預編譯應用程序代碼,也無須將軟體包綁定到 DB2 資料庫。
作為一個與供應商無關的標准,JDBC 應用程序提供了更多的可移植性—這是當今異構業務基礎設施所必需並嘩賀的優點。
在執行 JDBC 應用程序期間,驅動程序將針對當前連接的 DB2 資料庫伺服器驗證 SQL 語句。
訪問期間的任何問題都會作為 Java 異常與相應的 SQLSTATE 和 SQLCODE 一起報告給應用程序。
SQLJ:
SQLJ 是一個用於從 Java 應用程序進行數據訪問的標准開發模型。
SQLJ API 是在 SQL 1999 規范中定義的。
新的通用 JDBC 驅動程序在一個實現中同時為 JDBC 和 SQLJ API 提供了支持。
JDBC 和 SQLJ 可以在同一個應用程序中互操作。
SQLJ 提供了獨特的使用靜態 SQL 語句進行開發以及在 DB2 包級別控制訪問的能力。
/**JDBC連接方式分析**/
JDBC 驅動程序體系結構分為四種類型:Type1,Type2,Type3,Type4。
Type1:
驅動程序基於 JDBC-ODBC 橋。
因此 ODBC 驅動程序可以與此類 JDBC 驅動程序(由 Sun 提供)結合起來使用。
IBM 不支持 Type 1 驅動程序,因此它不是推薦的環境。
Type2:
驅動程序依靠特定於操作系統的庫(共享庫)來與 RDBMS 通信。
應用程序將裝入這種 JDBC 驅動程序,而驅動程序將使用共享庫來與 DB2 伺服器通信。
DB2 UDB for Linux, UNIX和 WindowsV8.1 提供了兩種絕派不同的 Type 2 驅動程序:
<1> 舊的/蘆瞎CLI JDBC 驅動程序在文件db2java.zip中提供。
其實現包名稱為COM.ibm.db2.jdbc.app.DB2Driver。
該驅動程序目前已被用於進行 J2EE 認證。
其別名「app 驅動程序」源自於一種觀念及其包名稱,
這種觀念就是:此驅動程序將通過遠程資料庫的本地 DB2 UDB 客戶機執行本地連接。
<2> 通用 JDBC 驅動程序在文件db2jcc.jar中提供。
其實現包名稱為com.ibm.db2.jcc.DB2Driver。
此驅動程序是 DB2 UDB for Linux, UNIX 和 Windows V8.1 中的新功能。
在最初的實現(V8.1)中,此驅動程序用於使用 Type 4 驅動程序體系結構與 DB2 伺服器進行直接的 Java 連接。
在 DB2 V8.1.2 中,您可以在 Type 2 體系結構中使用此驅動程序。
在 Type 2 體系結構中使用此驅動程序的一個主要原因是為了本地應用程序性能和分布式事務支持。
通用 JDBC Type 2 驅動程序分別使用com.ibm.db2.jcc.DB2XADataSource和com.ibm.db2.jcc.DB2ConnectionPoolDataSource來支持分布式事務和連接池。 註:在將來的版本中不會對舊的/CLI Type 2 驅動程序進行增強。
Type3:
驅動程序是一種純 Java 實現,它必須與 DB2 JDBC Applet 伺服器(DB2 JDBC Applet Server)通信才能訪問 DB2 數據。
此類驅動程序旨在使 Java applet 能訪問 DB2 數據源。
常被稱作「網路(net)驅動程序」,它是根據其包名COM.ibm.db2.jdbc.net命名的。DB2 V8.1 支持網路驅動程序,可以將其用於 JDBC 應用程序。
要求db2java.zip驅動程序總是處於與 DB2 Applet 伺服器相同的維護級別。
如果驅動程序在 applet 內使用,這就不是一個問題,因為瀏覽器會在應用程序執行期間下載相應的db2java.zip文件。
許多客戶使用 Type3 驅動程序而不是 Type2 驅動程序,以避免必需的 DB2 客戶機安裝和必需的DB2 CATALOG DATABASE命令,後者用於創建使用舊的/CLI 驅動程序進行 Type 2 連接所必需的資料庫目錄信息。
目前,WebSphere Application Server 和其它 J2EE 伺服器不支持 IBM Type 3 驅動程序,因為該驅動程序不支持分布式事務(JTA)。
將來的版本不會對 Type 3 驅動程序進行增強。
鼓勵使用通用 JDBC Type 4 驅動程序來替代 Type 3 驅動程序。
Type4:
驅動程序是僅用於 Java 的 JDBC 驅動程序,它直接連接到資料庫伺服器。
DB2 UDB for Linux, UNIX 和 Windows V8.1 引入了稱為「通用 JDBC 驅動程序(Universal JDBC driver)」的 Type 4 驅動程序。
通用 JDBC 驅動程序在文件db2jcc.jar中提供。
其實現包名為com.ibm.db2.jcc.DB2Driver。
請注意,通用 Type 2 和通用 Type 4 驅動程序具有相同的實現類名稱。
有兩種方法可以區別 DB2 在內部將實例化哪個驅動程序:
使用連接特性來確定連接是否使用共享庫(Type2),或者驅動程序是否會啟動來自 Java 應用程序的直接連接(Type4)。
重要:就 DB2 UDB V8.1.2 而言,通用 JDBC 驅動程序要求 CLASSPATH 中有許可證 JAR 文件和db2jcc.jar文件。
以下是所需的許可證 JAR 文件:
Cloudscape Network Server V5.1:db2jcc_license_c.jar
DB2 UDB V8 for Linux, UNIX 和 Windows 伺服器:db2jcc_license_su.jar
DB2 UDB for iSeries and z/OS 伺服器(與 DB2 Connect 和 DB2 Enterprise Server Edition 一起提供):db2jcc_license_cisuz.jar ****************************************************************驅動程序類型:db2java.zip, db2jcc.jar
注意:假如你使用db2java.zip,且web伺服器使用Tomcat的話,請將db2java.zip改名為db2java.jar,最好將zip解壓再用jar命令打包,直接改文件類型也行(呵呵,按照jar文件嚴格意義上來講這是不符合文法的<少了描述性文件:MANIFEST.MF>,能用就行)
還有一般情況下:就是使用 db2java.zip的話需要安裝db2客戶端, 使用db2jcc.jar是通過網路直接來連接的無需安裝db2客戶端(假如用在type2上還是要裝客戶端的)type2:
使用<db2java.zip>:
jdbc.driverClassName=COM.ibm.db2.jdbc.app.DB2Driver
jdbc.url=jdbc:db2:dataBaseName
假如你的工具使用的是myeclipse且使用的是tomcat plugin的話,請將db2jdbc.dll 拷貝到 %JAVA_HOME%/bin下,否則不行地啦
<是不是其他類型的使用db2java.zip驅動也有這個問題呢,不知道,沒試過,有空試一下>
使用<db2jcc.jar>:
jdbc.driverClassName=com.ibm.db2.jcc.DB2Driver
jdbc.url=jdbc:db2:dataBaseName
type3:
驅動:db2java.zip
jdbc.driverClassName=COM.ibm.db2.jdbc.net.DB2Driver
jdbc.url=jdbc:db2://ip:6789/DBNAME
注意:要在資料庫上執行 db2jstrt 6789 (這句啟動了db2jd進程,6789是默認的伺服器偵聽jdbc2連接的埠,也可以設置成另外的任意不沖突的埠。)
type4:
驅動:db2jcc.jar
資料庫字元集必須設置為utf-8
jdbc.driverClassName=com.ibm.db2.jcc.DB2Driver
jdbc.url=jdbc:db2://ip:port/DBNAME
7. c語言簡單數據類型有哪些
C語言的基本數據類型為:整型、字渣枯凳符型、實數型。
這些類型按其在計算敗拿機中的存儲方式可被分為兩個系列,即整數(integer)類型和浮點數(floating-point)類型。
這三種類型之下分別是:short、int、long、char、float、double 這六個關鍵字再加上兩個符號說明符signed和unsigned就基本表示了C語言的最常用的數據類型。
下面列出了在32位操作系統下 常見編譯器下的數據類型大小及表示的數據范圍: