db2 指令 在 DB2 9.7: CLP Plus - YouTube 的推薦與評價
This demo shows the new Command Line Processor - CLP Plus in DB2 9.7. CLP Plus makes it easy to edit and execute SQL statements, scripts, ... ... <看更多>
Search
This demo shows the new Command Line Processor - CLP Plus in DB2 9.7. CLP Plus makes it easy to edit and execute SQL statements, scripts, ... ... <看更多>
#1. db2常用命令大全- IT閱讀
近一年來在專案開發中使用到了IBM的DB2 9.1的資料庫產品,跟Oracle相比一些 ... db2 -tvf <指令碼名稱>.sql --把上述匯出的表結構匯入到資料庫表結構
#2. 以DB2 執行的秘訣
這指出該表格或索引需要重組。如需如何閱讀reorgchk 指令輸出的相關資訊, |請參閱IBM DB2 Universal Database Command Reference |中 ...
#3. db2 常用操作指令 - 台部落
db2 常用操作指令. 原創 2018-08-31 02:41. db2 cmd命令操作. 1、 打開命令行窗口. #db2cmd. 2、 打開控制中心 www.2cto.com. # db2cmd db2cc. 3、 打開命令編輯器.
#4. TSM-DB2常用指令
TSM-DB2常用指令. #Instance User登入(ex. tsmadmin). $ db2. #連接資料庫ex. TSMDB1. db2 => connect to TSMDB1. #查看DB2參數設定. db => get db cfg.
#5. TSM-DB2常用指令- James LAB - Google Sites
TSM-DB2常用指令 ... db2. #連接資料庫ex. TSMDB1. db2 => connect to TSMDB1. #查看DB2參數設定. db => get db cfg ... db2 => list tablespaces show detail ...
#6. Blog Archive » DB2資料庫常用指令大全 - 韌館
如果你不能停止資料庫由於啟動的連接,在運行db2stop前執行db2 force ... db2 connect to [dbname] user [username] using [password] ... 指令檔操作命令*.
DB2 資料庫常用指令碼,消耗使用者cpu時間最多的動態sql db2 select from sysibmadm snapdyn sql order by tota.
#8. 在DB2 資料庫產品之間移動(Linux 及UNIX)
透過發出db2licm 指令,新增新資料庫產品的授權檔。 db2licm -a LicenseFile 授權檔是位在產品啟動CD 的db2/license 目錄中。 使用db2ilist 指令 ...
#9. IBM DB2 訂閱者- SQL Server | Microsoft Docs
若要指定自訂的建立指令碼,請修改現有的Transact-SQL 指令碼或建立使用DB2 SQL 用語的完整指令碼;如果已建立DB2 指令碼,請使用bypass_translation ...
#10. linux下db2執行指令碼亂碼問題 - w3c菜鳥教程
linux下db2執行指令碼亂碼問題,db2資料庫存在三種級別的字符集作業系統級lang 例項級客戶端級db2codepage 資料庫級database code page.
#11. IBM DB2資料庫:運行用於常規維護的命令
請確保指令碼在每次運行時都完全執行。 有關正確的語法和用法,請參閱資料庫製造商的文檔。 下面, <schema> 用於表示與DB2用戶名關聯的架構。
#12. DB2 命令列中如何執行sql指令碼 - 程式人生
db2 => connect to dbName user xxx using password. db2 => sql語句. 如果要執行一個sql指令碼檔案:. db2 => quit. c:\> db2 -tvf sql檔名
#13. 【数据库】Linux db2常用指令库实做教学 - CodeAntenna
Linuxdb2常用指令【簡介】一、連接db2數據庫二、常見db2查询指令三、創建、刪除db2數據庫四、啟動、關閉db2數據庫【簡介】如何安...,CodeAntenna技术文章技术问题代码 ...
#14. db2指令- db2 connect command - Code Examples
db2指令 - db2 connect command. pecl安裝ibm_db2失敗(6). 您需要DB2頭來構建ibm_db2 PHP擴展。 ... 我需要安裝ibm_db2擴展,以便與db2進行php連接。 所以我使用pecl。
#15. DB2常用命令 - IT人
db2 -tvf <指令碼名稱>.sql --把上述匯出的表結構匯入到資料庫表結構 db2move <資料庫名> load -lo replace --把上述“db2move <資料庫名> export “匯 ...
#16. 解決錯誤時發生RM 錯誤。無法初始化DB2 服務
如果要進行下列其中一項動作,可能需要增加DB2 MAXAPPLS 配置參數:. 執行多個伺服器增益程式作業, ... 選擇「開始- 程式集- IBM DB2 - 指令行工具- 指令行處理器」。
#17. <转自LU>学会使用DB2指令及故障诊断 - ITPUB博客
一、如何学会使用db2指令1、看图解2、使用db2指令3、查找资料二、故障诊断1、错误信息种类 · 2、确定错误信息 · 3、查看db2diag.log · 4、收集及分析db2trc跟踪信息
#18. db2指令db2入门教程db2视频教程 - asp.net教程
db2指令db2 入门教程db2视频教程. ... db2 update db cfg for test using para_name para_value. 11.删除数据库:. db2 drop db test. 12.连接数据库.
#19. 常用db2指令@ 庫洛的異想世界 - 痞客邦
最近因為許多事...不得不開始正視DB2這東東以下是最常下的一些指令轉換成instance使用者後下db2就可以變成下達SQL語法模式db2=> select * from ...
#20. IBM DB2數據庫的常用操作指令 - 程式師世界
將Windows上的DB2數據庫遷移到AIX系統時需要掌握的操作指令:. 強制停止所有數據庫鏈接:db2 force application all. 停止DB2:db2stop force :.
#21. 【轉】DB2 的命令列處理器和指令碼編寫
何時使用DB2 命令列處理器; 驗證安裝情況和判定問題所在; 協助; 指令碼編寫; 編寫DDL 指令碼; 原型; 何時使用DB2 Command Center; CLP 設計 ...
#22. DB2常用指令 - 51CTO博客
DB2 常用指令,--Title:DB2常用命令--Date:2008-6-26--注:在【开始】->【运行】中输入db2cw或db2cmd进入DB2CLP,db2ce进入命令编辑器,db2cc进入 ...
#23. DB2大躍進的秘密 - iThome
在資料庫中使用或查詢XML文件時,以SQL指令配合一些符合XML特徵的新增函式查詢,再將查詢結果組成XML型式的結果,所以通常無法避免的,需要對多個表格用 ...
#24. IBM的DB2資料庫常用命令及查詢 - 程式前沿
IBM的DB2資料庫常用命令及查詢2017年04月16日11:57:31 閱讀數:3343 1、 ... 執行指令碼檔案#db2 -tvf scripts.sql 25、幫助命令* 檢視命令幫助#db2 ...
#25. IBM DB2 - 維基百科,自由的百科全書 - Wikipedia
IBM DB2企業伺服器版本,是美國IBM公司發展的一套關係型資料庫管理系統。它主要的執行環境為UNIX(包括IBM自家的AIX)、Linux、IBM i(舊稱OS/400( ...
#26. 愛上DB2資料庫管理與應用| 誠品線上
以簡單的範例,讓你很快熟悉指令與操作方式。 本書是以DB2 Universal Database的最新版本Version 9.1為基礎。介紹新版本中的Partition Table、PureXML、Automatic Storage ...
#27. db2數據庫運維常用命令 - 愛在屋簷下的部落格
1、db2 connect to <數據庫名> --連接到本地數據庫名 · 2、 db2 force application all --強迫所有應用斷開數據庫連接 · 3、db2 backup db db2name<數據庫名稱> --備份整個 ...
#28. DB2常用指令 - Java碼農清單
DB2 常用指令. export to C:\CSVFiles\OfferingOrder.csv of del select * from XXXXX;; import FROM "路徑.ixf" of ixf COMMITCOUNT 10000 ...
#29. MySQL | 小賴的實戰記錄 - - 點部落
摘要:MySQL - Dump DB1 DataTable to DB2 DataTable. ... mysql -u root -p (接著會叫你輸入密碼,然後輸入密碼後,進入mysql操作指令畫面).
#30. 北祥資訊電子報第一期創刊號| DB2 線上備份與還原實務分享
DB2 資料庫的備份方式依影響使用程度可分為離線備份(offline)與線上 ... DB2 V8.2 版本後,備份指令增加了新的功能INCLUDE LOGS,可以將線上備份期間所 ...
#31. db2 学习指令1
db2 学习指令1. 1433阅读0评论2012-04-18 manULinux 分类:DB2/Informix. 1. 启动实例(db2inst1):. db2start ... db2 update dbm cfg using. 6. 创建数据库:.
#32. DB2 資料表描述和SQL 指令 - 私人筆記
DB2 資料表描述和SQL 指令 ; ALTER TABLE MyTABLE DROP COLUMN ; ALTER TABLE MyTABLE ADD · DECIMAL(14) ; ALTER TABLE MyTABLE RENAME COLUMN · TO ...
#33. DB2: How to find your DB2 version - 狐的窩- 痞客邦
要如何得知你使用的db2版本,每次問,不會被回說去找cd的包裝,就是問不到答案。 本想google一下,卻意外發現手動用command line的方式去連db, ...
#34. 如何刪除IBM DB2 ODBC DRIVER裡設定的別名? - adalf的小 ...
1.開啟DB2的指令視窗 · 2.輸入 db2 · 3.再輸入 UNCATALOG DATABASE TESTDB.
#35. Re: [情報] DB2 SQL命令小集- 看板HCHS_BioClub
此時可直接輸入DB2 指令或SQL 敘述,而不需要在它們之前加上db2。例如: db2 = connect to stores db2 = select fname, lname, phone from customer ...
#36. DB2 基本知识介绍. - ppt download
临时表空间:存放在执行SQL指令时产生的临时数据。 大型表空间:存放LONG VARCHAR与LOB类型的字段数据。 根据管理方式区分 数据库管理空间:DMS,是由DB2直接格式化与 ...
#37. db2指令大全_梅好时光-程序员宅基地
1。创建数据库 例如:db2 create database [数据库名称]using codeset GBK territory zh_CN2。数据库参数 db2 update database cfg for db_name using applheapsz 256 ...
#38. DB2資料庫SQL語法參考手冊 - 自由手記- 痞客邦
DB2 資料庫SQL語法參考手冊 · 1.建表格: CREATE TABLE table_name( · 2.更改表格. ALTER TABLE table_name · 3.建立索引. CREATE INDEX index_name ON table_name (column_name).
#39. DB2操作指令指南_招財進寳的博客-程序员信息网
实际问题1远程Toad For Db2连接时候 结点名:本机的要唯一数据库:远程数据库名称要一致数据库别名:远程不同IP上数据库名一样 这样 数据库别名在自己的本机上要 ...
#40. 18.下列哪一個指令可以查看DB2 產品之許可證相關資訊? (A ...
下列哪一個指令可以查看DB2 產品之許可證相關資訊? (A) db2info (B) db2prod (C) db2level (D) db2licm. 編輯私有筆記及自訂標籤.
#41. 使用IBM Db2 LUW 做為的來源AWS SCT
您可以使用AWS SCT從IBM Linux、Unix 和Windows (Db2 LUW) 將架構、代碼對象和應用程序代碼轉換至下列目標。 ... 若要建立臨時資料表空間,請執行下列指令碼。
#42. db2 import/export tool - 阿里云开发者社区
原文http://www.cnblogs.com/mac_arthur/archive/2011/08/21/2147846.html Contents- 使用db2 backup指令备份- 使用db2 restore指令恢复- 使用db2look提取数据库 ...
#43. 【数据库】Linux db2常用指令库实做教学 - 极客分享
Linux db2常用指令【簡介】一、連接db2數據庫二、常見db2查询指令三、創建、刪除db2數據庫四、啟動、關閉db2數據庫【簡介】 如何安裝db2, ...
#44. 【資訊專才】 資料庫系統管理工程師(DB2、SQL - 104人力銀行
【資訊專才】 資料庫系統管理工程師(DB2、SQL、Open source) DBA Engineer 04/05更新 ... 【相關能力】 技能:熟悉資料庫運作原理,基本SQL指令、權限控管、效能調校、 ...
#45. linux访问db2数据库操作命令行,DB2数据库基本操作指令30条
命令窗口:db2 catalog tcpip node remote server ostype. 3.取消节点编目. db2 uncatalog node. 4.查看系统数据库目录. db2 list database directory.
#46. db2创数据库语句 - 简书
在db2cmd里面打入 db2可以省掉db2指令. https://www.cnblogs.com/atwanli/articles/4388646.html. db2创建数据库和导入导出数据库. 1、切换用户.
#47. DB2 コンパイラ指令オプション
ACCESS (DB2 コンパイラ指令オプション) パッケージの名前を作成しデータベースに格納することを指定します。 ACTION Indicates whether the package can be added or ...
#48. DB2 - IT610.com
it610 · DB2_常用指令. 1启动一个db2实例使用: netstartinstanceName 2停止... · db2 常用参数优化 · DB2 系统命令与配置参数大全 · DB2 系统命令与配置参数大全 · db2 常用 ...
#49. DB2导入导出命令整理_胡疆的博客-程序员ITS401_db2 export ...
使用db2 backup指令备份使用db2 restore指令恢复使用db2look提取数据库结构DDL用于数据移动的文件格式使用db2move导出全部数据使用db2 export指令导出数据使用db2move ...
#50. SQL ORDER BY 排序- SQL 語法教學Tutorial - Fooish 程式技術
ORDER BY 關鍵字(SQL ORDER BY Keyword). 我們可以將SELECT 取得的資料集依某欄位來作排序,而排序分別可以由小至大(ascending; 預設),或由大至 ...
#51. DB2 找出每個table大小的方法 - 痞客邦
因為要把公司資料庫做大整理資料量增加頻率高的佔用空間大的得一一找出來目前知道的方法在db2dir下找到NODE0000下會有很多資料庫檔案利用du指令將下面 ...
#52. DB2 Update Monitor Switches - IBM Softwares
[db2inst1@db01 ~]$ db2 get monitor switches ... 使用update monitor switches for xxx on 的指令,如下列指令可以將bufferpool這個switch打開.
#53. SQL 語法手冊第二版 - 第 153 頁 - Google 圖書結果
DB2 建議設在 50 以下,讓資料庫不必多花 I / O 合併索引頁。如果背景行程能取得臨時資料表鎖定,此子句通常很有用。若因為重度使用量而無法辦到,可考慮使用 DB2 指令 ...
#54. 单片机原理及应用技术 - 第 7-50 頁 - Google 圖書結果
表 8-10 HD44780 的 CGRAM 地址设置指令指令编码执行时间指令功能 RS R / W DB7 DB6 DBS DB4 DD DB2 DB1 | DB / us 设定 CGRAM 地址 0 0 1 CGRAM AFL ( 6 ) 40 功能: ...
#55. linux db2查询表命令,DB2/SQL命令大全_weixin_39807896的 ...
很多人对showmount指令很生疏,彻底不清楚这一指令的使用方法,今日我将对于showmount指令在Linux上的应用给大伙儿做下简易的详细介绍,便于大伙儿对 ...
#56. db2数据库常用命令总结 - 知乎专栏
db2 数据库常用命令总结---安装数据库tar zxvf db2_v101_linuxx64_expc.tar.gz cd expc/ ./db2_install选择默认安装路径: yes ---配置数据库创建3个 ...
#57. springcloud进阶:四种分布式事务模式之XA模式(四) - 掘金
23 小時前 — Oracle、Informix、DB2和Sybase等各大数据库厂家都提供对XA的支持。 ... 而XA模式则是在所有的本地事务执行完成后,TC才发送指令让所有的RM提交事务、 ...
#58. Redis实现限流器的三种方法(小结) - 脚本之家
方法一:基于Redis的setnx的操作. 我们在使用Redis的分布式锁的时候,大家都知道是依靠了setnx的指令,在CAS(Compare and swap) ...
#59. 如何在sql server中编写基本sql语句(write basic sql statements ...
数是一组用编程语言编写的可重用的指令。 ... 器是数据库服务器的一部分。db2公司(db2) vs. sql服务器(sql server)Db2和sqlserver的区别在于它们都是 ...
#60. SQL学习笔记(一)_码农学习笔记的博客-程序员ITS201
DB2 数据库fetch first 5 rows only ... 对于单线程芯片来说,每秒可以处理成千上万条指令,但在某一时刻,其只能对一条指令进行处理,这就会处理器内部的其他处理单元 ...
#61. 纯小白建立自己的博客(二)-搭建本地博客_DLXG001的博客
Vue.js_11_v-html 指令_魏宇轩的博客-程序员ITS404. 本系列博客汇总在这里:Vue.js ... db2 常见错误以及解决方案_z_Ever1的博客-程序员ITS404_db2字符串常量太长.
#62. DB6GD5LC - Datasheet - 电子工程世界
Electrical Ratings and Operating Life. Switch. Series. DB1. According to EN61058-1. Nominal Load. 6A, 250V~. 0.1A 80 VDC. 10(1.5)A, 250 V~. DB2. DB3. DB5*.
#63. 跳轉和鏈接寄存器MIPS
我正在研究MIPS指令,這個問題使我有些困惑,因為MIPS文檔似乎在說與提供的答案有所不同的東西。這是問題和答案。
#64. wincc udt. Configuración de salidas PWM TIA Portal. Siemens ...
DB1, DB2, DB8 Instance data blocks for the assigned function blocks. ... UDT类型作为整体使用时,可以与Variant、DB_ANY类型及相关指令默契配合。
#65. Id line vcs 9 SP6 of Libero SoC Design Suite. Baby Tula 15 ...
命令 描述 1 +define+= 命令行进行宏定义,在代码中使用了`ifdef 编译指令 2 +mindelays 器件延时 ... 5 Fix Pack 10 for Linux, UNIX, and Windows DB2 Version 10.
#66. DB2 9.7: CLP Plus - YouTube
This demo shows the new Command Line Processor - CLP Plus in DB2 9.7. CLP Plus makes it easy to edit and execute SQL statements, scripts, ...
#67. 『湖南日报』哪里可以办波兰西里西亚大学学历多少钱_宠物网
今年通胀XP TR比增速料mA mD走高,未c6 64几年稳定Gx db2%左右的联储 ... 听到启动成功的指令,他们就算pu qe成了这次8分钟演出的任务,总共上场时间 ...
db2 指令 在 Re: [情報] DB2 SQL命令小集- 看板HCHS_BioClub 的推薦與評價
https://www.ascc.sinica.edu.tw/nl/85/1212/03.txt
《資料處理》
DB2使用簡介(下)(作者:吳和弟)
命令行處理器(Command Line Processor;CLP)
使用者可以利用命令行處理器來執行 DB2 指令與 SQL 敘述。有
三種方式使用命令行處理器:
‧交談式輸入模式
‧作業系統命令提示(prompt)符號下的輸入模式
‧從檔案輸入
1.交談式輸入模式
在作業系統命令提示符號下輸入"db2" 即可進入交談式輸入模式,
此時螢幕會出現"db2="提示符號。進入交談式輸入模式之後,畫面
的顯示如下:
(c) Copyright IBM Corporation 1993,1995
Command Line Processor for DB2 SDK 2.1.0
You can issue database manager commands and SQL statements from the command
prompt. For example:
db2 => connect to sample
db2 => bind sample.bnd
For general help, type: ?.
For command help, type: ? command, where command can be
the first few keywords of a database manager command. For example:
? CATALOG DATABASE for help on the CATALOG DATABASE command
? CATALOG for help on all of the CATALOG commands.
To exit db2 interactive mode, type QUIT at the command prompt. Outside
interactive mode, all commands must be prefixed with 'db2'.
To list the current command option settings, type LIST COMMAND OPTIONS.
For more detailed help, refer to the Online Reference Manual.
db2 =>
見到 "db2 ="的提示符號,就可知目前在命令行處理器的交談式輸
入模式。此時可直接輸入 DB2 指令或 SQL 敘述,而不需要在它們
之前加上 db2。例如:
db2 = connect to stores
db2 = select fname, lname, phone from customer
db2 = connect reset
上面的第一個敘述執行連結到資料庫"stores"。第二個敘述執行
從表格"customer"裡面選取"fname"、"lname"、"phone" 三個欄位
的全部資料。第三個敘述執行不與資料庫連結,也就是與資料庫
``stores'' 從連結狀態變成不連結狀態。
輸入"?"會把全部的 DB2 指令顯示出來,但是並不顯示 SQL 敘述
,它相當於一般軟體常用的 HELP。例如:
db2 => ?
結果如下:
db2-command:
ATTACH FORCE APPLICATION PREP/PRECOMPILE
ATTACH TO GET AUTHORIZATIONS PRUNE HISTORY
BACKUP DATABASE GET CONNECTION STATE QUERY CLIENT
BIND GET INSTANCE QUIESCE TABLESPACES
CATALOG APPC NODE GET MONITOR SWITCHES QUIT
CATALOG DATABASE GET SNAPSHOT REBIND
CATALOG DCS DATABASE GET/RESET/UPDATE DB CFG REGISTER
CATALOG GLOBAL DATABASE GET/RESET/UPDATE DBM CFG RELEASE
CATALOG IPXSPX NODE HELP REORG TABLE
CATALOG LOCAL NODE IMPORT REORGCHK
CATALOG NETBIOS NODE INVOKE RESET MONITOR
CATALOG TCPIP NODE LIST APPLICATIONS RESTART DATABASE
CHANGE DATABASE COMMENT LIST BACKUP/HISTORY RESTORE DATABASE
CHANGE SQLISL LIST COMMAND OPTIONS ROLLFORWARD DATABASE
CONNECT LIST DATABASE DIRECTORY RUNSTATS
CONNECT RESET LIST DCS APPLICATIONS SET CLIENT
CONNECT TO LIST DCS DIRECTORY SET CONNECTION
CREATE DATABASE LIST INDOUBT TRANSACTIONS TERMINATE
DB2START/DB2STOP LIST NODE DIRECTORY UNCATALOG DATABASE
DEREGISTER LIST PACKAGES/TABLES UNCATALOG DCS DATABASE
DETACH LIST TABLESPACE CONTAINERS UNCATALOG NODE
DISCONNECT LIST TABLESPACES UPDATE COMMAND OPTIONS
DROP DATABASE LOAD UPDATE HISTORY
ECHO LOAD QUERY UPDATE MONITOR SWITCHES
EXPORT MIGRATE DATABASE
Note: Some commands are operating system specific and may not be available.
For further help: ? db2-command - help for specified command
? OPTIONS - help for all command options
? HELP - help for reading help screens.
輸入"?db2-command"會列出 DB2 指令的格式。此處的db2-command
可以是前面幾個關鍵字(keyword),如果有多個 DB2 指令都是以這
些關鍵字作開頭,則多個 DB2 指令的格式會被列出。如果僅有一
個 DB2 指令符合要查詢的關鍵字開頭,則僅有這個 DB2 指令的格
式會被列出。例如:
db2 = ? connect
結果如下:
CONNECT [USER username [USING password]]
CONNECT RESET
CONNECT TO database-alias [IN {SHARE|EXCLUSIVE} MODE]
[USER username [USING password]]
例如:
db2 = ? connect to
結果如下:
CONNECT TO database-alias [IN {SHARE|EXCLUSIVE} MODE]
[USER username [USING password]]
輸入"quit"或"terminate" 可跳出交談式輸入模式而回到作業系統
的命令提示符號下面。例如:
db2 = quit
或
db2 = terminate
"quit"與 "terminate"皆可跳出交談式輸入模式,但是兩者之間是
有差異的。"quit"並不會打斷資料庫的連結,也就是跳出後仍然在
資料庫的連結狀態。"terminate" 會打斷資料庫的連結,也就是跳
出後已不與任何資料庫連結。
2.作業系統命令提示(prompt)符號下的輸入模式
使用者可以在作業系統命令提示符號下面,利用命令行處理器來執
行DB2指令與SQL敘述。使用的方式是在 DB2 指令與 SQL 敘述之前
加上"db2"。例如:
% db2 connect to stores
% db2 select fname, lname, phone from customer
% db2 connect reset
其中 % 是 c shell 的提示符號。
可在 DB2 指令與 SQL 敘述的前後兩端加上雙引號 (") 或單引號
('),如此可避免作業系統下面的 shell 對 DB2 指令與 SQL 敘述
之內容的某些字元作處理。例如:
% db2 "connect to stores"
% db2 "select count(*) from customer"
% db2 "connect reset"
上面的三個敘述會算出資料庫"stores"的表格"customer"所擁有的
記錄(record)總筆數。
3.從檔案輸入
要執行的 DB2 指令與 SQL 敘述可以先儲存在檔案裡面,然後利用
命令行處理器來執行檔案的內容。在作業系統命令提示符號下面,
要執行檔案內容的常用語法為:
db2 -svtf filename
檔案裡面是以分號 (;) 當作一個 DB2 指令或 SQL敘述的結束。註
解(comment)的開始符號"--"必須位在一行(line)的第一個非空
白字元,一行裡面"--"後面的內容並不作處理。執行檔案的內容
時,會顯示每一個被執行的指令或敘述,遇到錯誤時會停止執行且
跳出。檔案裡面的每一個指令或敘述不需要以"db2"作開頭。
現在舉一個例子,檔案"test.sql"的內容如下:
-- Testing SQL
connect to stores;
select fname, lname, phone from customer;
connect reset;
-- End db2
terminate;
要使用命令行處理器執行檔案"test.sql" 的內容,在作業系統命
令提示符號下面執行下述指令:
db2 -svtf test.sql
發展應用程式
1.概念
使用者可以用下述的方式之任何一種來發展應用程式對 DB2 資料
庫作存取:
‧嵌入 SQL (Embedded SQL) 在第三代語言裡面。
‧使用 DB2 所提供的應用程式介面 (Application Program
Interface ;API)。
‧使用DB2所提供呼叫層介面 (Call Level Interface ;CLI) 。
‧在 client 端使用 ODBC (Open DataBase Connectivity) 寫應
用程式。
嵌入 SQL (Embedded SQL) 在第三代語言裡面是常被使用的方式,
它是把 SQL 敘述放在第三代語言裡面。整個應用程式的架構仍是
以所使用的第三代語言為主,只有在作資料庫的存取時,才會把
SQL 敘述放在第三代語言裡面。此種方式的優點為程式設計師可以
使用原本就熟悉的第三代語言,而縮短訓練的時間;缺點是程式比
第四代語言難寫且不好維護。
DB2 支援可嵌入 SQL 的第三代語言有:C、FORTRAN、COBOL。含有
SQL 的第三代語言之原始程式檔案 (source file),它們的副檔名
(extension) 如下:
C .sqc
FORTRAN .sqf
COBOL .sqb
本文以在 C 語言裡面嵌入 SQL 為例子作說明。
2.範例
下面是一個 C 語言裡面嵌入 SQL 的例子,這個程式執行的動作
是從資料庫"stores"的表格"customer"裡面選取每一筆記錄
(record) 的fname、lname、city、state 欄位,並顯示出來。檔案
"test1.sqc"的內容如下:
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <sqlenv.h>
4
5 EXEC SQL include sqlca;
6
7
8 EXEC SQL BEGIN DECLARE SECTION;
9 char aFname[16];
10 char aLname[16];
11 char aCity [16];
12 char aState[3];
13 EXEC SQL END DECLARE SECTION;
14
15
16 void main()
17 {
18 EXEC SQL connect to stores;
19 if (sqlca.sqlcode != 0) {
20 printf("CONNECT TO Error: sqlca.sqlcode = %ld\n",
21 sqlca.sqlcode);
22 exit(1);
23 }
24
25 EXEC SQL declare democursor cursor for
26 select fname, lname, city, state from customer;
27
28 EXEC SQL open democursor;
29
30 for ( ; ; ) {
31 EXEC SQL fetch democursor into :aFname, :aLname,
32 :aCity, :aState;
33 if (sqlca.sqlcode != 0)
34 break;
35 printf("%15s %15s %15s 2s\n", aFname, aLname,
36 aCity, aState);
37 }
38
39 EXEC SQL close democursor;
40
41 EXEC SQL connect reset;
42 if (sqlca.sqlcode != 0) {
43 printf("CONNECT RESET Error: sqlca.sqlcode = %ld\n",
44 sqlca.sqlcode);
45 exit(1);
46 }
47
48 printf("Program Over.\n");
49 }
現在對程式 "test1.sqc"作簡單的介紹。在 C 裡面要加入 SQL
敘述,必須在每個 SQL 敘述之前加上 "EXEC SQL"。
第 3 行會引入 sqlenv.h 這個 header file,它定義了 SQL 的
一些環境。
第 5 行定義 structure sqlca,主要作為 SQL 通訊之用,每執
行一個 SQL 敘述,structure sqlca 裡面的元素 sqlcode 會反應
SQL 敘述執行是否正確。如果執行正確則 sqlcode 為 0,否則不為
0 而為 error code,可根據 error code 找出錯誤的原因。
第 8 行與第 13 行分別表示 host 變數宣告的開頭與結束,所以
aFname、aLname、aCity、aState 皆是 host 變數。 host 變數是
C 語言的變數,用於把資料送進資料庫或是從資料庫抓資料。在
SQL 敘述裡面用到 host 變數,必須在 host 變數之前加上冒號
(:)。
第 18 行執行連結資料庫"stores"。
第 19 行判斷連結資料庫"stores" 的動作是否成功,如果成功則
sqlca.sqlcode 會是 0,如果失敗則 sqlca.sqlcode 不為 0。
第 20 行至第 22 行是連結資料庫"stores"失敗時要作的動作。
第 25 行與第 26 行是宣告一個名為 democursor 的游標,它會
選取表格"customer"的 fname、lname、city、state 欄位之資料
第 28 行會開啟名為 democursor 的游標。
第 30 行至第 37 行是把每筆記錄 (record) 的 fname、 lname
、city、state 欄位之內容分別放入 host 變數 aFname、 aLname
、aCity、aState,且把這些欄位內容顯示出來。
第 39 行會關閉名為 democursor 的游標。
第 41 行執行打斷與資料庫"stores"的連結。
第 42 行判斷打斷與資料庫 "stores" 的連結之動作是否成功,
如果成功則 sqlca.sqlcode 會是 0,如果失敗則 sqlca.sqlcode
不為 0。
第 43 行至第 45 行是打斷與資料庫"stores" 的連結失敗時要作
的動作。
3.步驟
建立一個 C 語言裡面嵌入 SQL 的應用程式之步驟如下:
(a)編寫正確的原始程式檔案 (source file),它們的副檔名
(extension) 是 .sqc。內容以 C 語言的格式為主要架構,加入
SQL 敘述。例如:前面所提到的檔案 test1.sqc。
(b)連結要用到的資料庫。例如: db2 connect to stores
(c)把 .sqc 檔案先編譯 (precompile) 成 .c 檔案,且產生
bind file (test1.bnd)。bind file 主要在達成最佳化
(optimize)。例如: db2 prep test1.sqc bindfile
(d)Bind 到資料庫,把 bind file 的內容綁到資料庫裡面。例如
: db2 bind test1.bnd
(e)打斷與資料庫的連結。例如: db2 connect reset
(f)編譯 (compile) .c 檔案成為 object 檔案 (.o 檔案)。例如
: cc -c -O -I/sec2/dore2/hdwu/sqllib/include test1.c
其中 /sec2/dore2/hdwu 是資料庫管理實體(instance) 的擁有者
(owner) 之 home directory。
(g)執行 link 產生執行檔。例如:
cc -O -L/sec2/dore2/hdwu/sqllib/lib test1.o -o test1 -ldb2
綜合上面的步驟,可在作業系統下面執行下述命令:
db2 connect to stores
db2 prep test1.sqc bindfile
db2 bind test1.bnd
db2 connect reset
cc -c -O -I/sec2/dore2/hdwu/sqllib/include test1.c
cc -O -L/sec2/dore2/hdwu/sqllib/lib test1.o -o test1 -ldb2
上面的過程也可以使用 makefile 的方式來達成,也就是根據
makefile 的撰寫規則,寫在檔案 "makefile"裡。然後在作業系統
下面執行命令 make,就會根據各個步驟執行,最後產生執行檔。
檔名為"makefile"的檔案內容舉例如下:
DB2 = db2
CC = cc
CFLAGS = -O
IP1 = /sec2/dore2/hdwu/sqllib/include
LP1 = /sec2/dore2/hdwu/sqllib/lib
LIB1 = db2
DATABASE = stores
EXE = test1
SQC = test1.sqc
C = test1.c
BND = test1.bnd
OBJ = test1.o
all : $(EXE)
$(EXE) : $(OBJ)
$(CC) $(CFLAGS) -L$(LP1) $(OBJ) -o $@ -l$(LIB1)
$(OBJ) : $(C)
$(CC) -c $(CFLAGS) -I$(IP1) $(C)
$(C) $(BND) : $(SQC)
$(DB2) connect to $(DATABASE); \
$(DB2) prep $(SQC) bindfile; \
$(DB2) bind $(BND); \
$(DB2) connect reset
clean :
rm $(C) $(BND) $(OBJ) $(EXE)
結語
從前一聽到 DB2,就立刻讓人聯想到必須裝設在 IBM 的大型專屬
主機,且價格高不可攀。近幾年 IBM 致力於 DB2 跨平台能力的改
進,DB2 已被移植至多種小型機器,包括個人電腦及工作站,以順
應"小型化" 的世界潮流。IBM 為擴大 DB2 的市場佔有率,已把
DB2 的售價降到非常低,DB2 的價格遠比其它廠牌的關聯式資料庫
管理系統便宜。
DB2 到目前為止,一直保持著高穩定性與高效率的優良傳統。DB2
如果能在使用者操作介面的親和性方面加以改良,必定如虎添翼而
大放異彩。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.251.189.157
... <看更多>