當前位置:首頁 » 編程語言 » db2嵌入式sql
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

db2嵌入式sql

發布時間: 2022-11-29 15:11:59

❶ 關於db2 嵌入式sql應用介面開發的問題

問題1:二者都能實現,只是略有差別,你的功能是何?
問題2:你要把oracle中的,數據導出成sql,再在db2中執行。

看看私信。

❷ 如何為 DB2 Cube Views 構建元數據橋

DB2 的 DB2 Cube Views 功能通過共享關系資料庫和商業智能應用程序之間的多維元數據,使商業智能應用程序與數據倉庫的集成變得更加輕易。了解如何使商業智能應用程序或工具能夠利用這一強大的新功能。本文適用對象本文的適用對象是那些希望通過使用 DB2 Cube Views 應用程序編程介面(API)以便在 IBM® DB2® Universal Database™ V8(UDB)上開發或集成 OLAP 應用程序的技術經理和技術人員。該信息尤其適用於那些構建組件以在 DB2 Cube Views 和其它工具或元數據資源庫之間交換元數據的開發人員。為簡單起見,我們將交換元數據的軟體稱為「元數據橋」或者就是「橋」。具備關系資料庫、倉庫和 OLAP 概念方面的背景知識將有助於對本文的理解。簡介公司和用戶目前日益需要具有分析大型數據集以及能夠深入訪問和報告更具體數據的能力。象 DB2 UDB 之類高可伸縮性的資料庫伺服器在向企業交付 OLAP 解決方案中起著日益重要的作用。通過 DB2 Cube Views,DB2 UDB 提供了一個甚至更健壯的基礎結構,這種基礎結構可以在端對端倉庫和商業智能部署中起到「重大支撐」作用。對於許多 OLAP 工具和應用程序而言,與 DB2 Cube Views 的集成需要構建元數據橋。這些橋可以通過使用 DB2 Cube Views 的基於 xml 的存儲過程介面來讀取或創建元數據。我們將在本文中討論如何使用這個介面來構建橋。DB2 Cube Views 的概述IBM DB2 Cube Views 是 DB2 通用資料庫的附加功能部件,它增強了 DB2 UDB,使 DB2 UDB 作為開發和部署商業智能產品和應用程序的平台。非凡地,DB2 Cube Views 有助於加速位於 DB2 UDB 上的 OLAP 解決方案和應用程序的開發和治理。DB2 Cube Views 功能部件是如何做到這一點呢?首先,它答應 DB2 UDB 支持 OLAP。假如沒有多維數據視圖,關系資料庫對於不熟悉資料庫結構和內容的人來說似乎是一組令人生畏的帶有一些列的表。DB2 Cube Views 元數據使您能夠更完整地記錄 DB2 資料庫中的底層結構。通常,倉庫或數據集市是非凡為維分析設計的。在這種情況下,資料庫通常由被組織為一個或多個星型(或雪花型)模式的表組成。簡單的星型模式包含一個事實表,事實表四周有一些維表。例如,事實表可以記錄公司各個產品和分店每日銷售數據。維表(或許是 PRODUCTS 和 STORES 表)可能包含有關各個產品和分店的具體信息,並且與事實表相連接。元數據對象DB2 Cube Views 元數據尤其擅長捕捉星型或雪花型模式中固有的結構(請參閱 圖 1)。該元數據通過一組元數據對象提供關系數據的「空間視圖」。元數據對象被劃分為多層,從簡單對象(如 Attribute,簡單的 Attribute 對表列建模)到更復雜的對象(如 Join、Hierarchy、Dimension 和 Cube Model)。完整定義的多維數據模型對象通常符合星型(或雪花型)模式,並對一組具有公共維數的度量建模。然後,多維數據模型就封裝其它 DB2 Cube Views 元數據對象(如 Dimension 和 Measure),這一點都不希奇。圖 1. 引用關系星型模式的 DB2 Cube Views 多維數據模型簡而言之,DB2 Cube Views 元數據使您能夠捕捉 DB2 資料庫的多維結構和設計。在 IBM DB2 Cube Views Setup and User's Guide 的第 2 章中具體描述了元數據對象。DB2 Cube Views 元數據除了使 DB2 支持 OLAP 外,至少還有兩種使用方法:DB2 Cube Views 功能部件利用元數據來優化命中 DB2 資料庫的 SQL 查詢。位於 DB2 UDB 之上的產品和應用程序可以使用元數據。讓我們簡要地討論一下這兩種用法。將 DB2 Cube Views 元數據用於優化DB2 Cube Views 通過創建合適的實例化的查詢表(materialized query table,MQT)來加速 SQL 查詢,這些 MQT 中保存了預先聚集的數據。MQT 也稱為(自動)匯總表。假如可以,DB2 優化器會將 SQL 查詢重新路由給 MQT(請參閱 圖 2)。MQT 通常比底層的基本表(MQT 構建於這些基本表之上)小好幾個數量級。因而,對於同一個 SQL 查詢,將該查詢重新路由給 MQT 這種查詢方法通常比用查詢基本表的方法快得多。DB2 Cube Views 有一個基於元數據和用戶輸入的優化顧問程序,它推薦一組合適的 MQT。有關更多信息,請參閱 DB2 Cube Views Setup and User's Guide中有關優化的章節。圖 2. DB2 優化器在適當時將查詢路由到 MQT元數據使用者多維數據視圖元數據還有其它好處。商業智能工具可以從 DB2 UDB 讀取元數據來了解 DB2 表的維結構。然後,根據元數據,這些工具提供處理 DB2 UDB 數據的查詢和報告解決方案。使用 DB2 Cube Views 元數據的工具和應用程序一般分為兩類:第一類應用程序「咬住」DB2 Cube Views 。它們通常通過使用元數據來構造 SQL 查詢,以讀取元數據並直接用它對 DB2 資料庫進行分析。大多數情況下,這些工具對 DB2 Cube Views 多維數據模型和多維數據對象進行查詢和報告。第二類工具使多維數據視圖元數據從 DB2 流入自己的工具,然後根據自己的元數據查詢 DB2。這些工具必須能夠將 DB2 Cube Views 元數據映射到自己的元數據。這一映射的復雜程度取決於元數據的相似程度(或相異程度)。元數據生產者請注重:並非所有對 DB2 Cube Views 元數據感愛好的應用程序都讀取元數據,這一點也很重要。還有一類工具和應用程序產生元數據並將它 推入 DB2。維元數據通常來自資料庫設計、抽取-轉換-裝入(extract-transform-load,ETL)和其它資料庫治理工具。通過使維元數據流入 DB2 UDB,這些工具可以利用先前提到的這些優化和治理好處。顯然,為了讀取、創建、修改和刪除元數據對象,工具和應用程序需要一種與 DB2 中多維數據視圖元數據交互的方法。DB2 Cube Views 為此提供了一個 API,我們接下來將研究它。API — db2info.md_message() 的概述DB2 Cube Views API 是用於訪問維元數據的介面。它以名為 db2info.md_message() 的 DB2 存儲過程的方式實現,該存儲過程為其所有參數傳入(出)XML 文檔。存儲過程的優點是使該 API 變成與語言無關。任何可以與 DB2 交流的編程語言都可以調用這個存儲過程。可以使用嵌入式 SQL 和通過 ODBC 或 JDBC™ 的動態 SQL 等。您可以從 DB2 Cube View Setup and User's Guide 的附錄中獲得有關這個 API 的詳盡描述。在本文中,我們將向您演示幾個示例:向這個存儲過程傳入什麼,以及期望從它那兒返回什麼,通過這幾個示例來設法讓您更快地理解該存儲過程。輸入參數這個存儲過程的語法如下:DBINFO.MD_MESSAGE(Operation IN, metadata IN/OUT, response OUT)所有參數都屬於 CLOB 類型。該存儲過程有兩個輸入參數。第一參數是必需的,它指定調用程序希望執行什麼操作。這些操作有:DESCRIBE
CREATE
ALTER
RENAME
DROP
IMPORT
VALIDATE某些操作(象 CREATE 和 IMPORT)需要通過第二個參數將元數據傳入這個存儲過程。操作 DESCRIBE 通過第二個參數返回元數據。輸出參數該存儲過程的第三個參數是輸出參數。對於對該存儲過程的每個調用,都會通過第三個參數返回響應文檔。然而,假如發生某些嚴重錯誤,則不會創建任何輸出響應文檔。解析 XML要使用 API,程序必須構造要傳入該存儲過程的 XML 文檔。還需要解析該存儲過程所返回的 XML。

❸ 如何用db2輸入SQL命令

可以在命令編輯器或者Windows 的DB2 命令窗口或者 Linux 的shell 中執行SQL 腳本。在windows 的DB2 命令窗口或者 linux 的shell 中執行SQL語句,可以使用下面的命令執行script1.sql腳本:
db2 -t -v -f script1.sql -z script1.log
或者:
db2 –tvf script1.sql –z script1.log
在上面的命令中,
-t 表示語句使用默認的語句終結符——分號;
-v 表示使用冗長模式,這樣 DB2 會顯示每一條正在執行命令的信息;
-f 表示其後就是腳本文件;
-z 表示其後的信息記錄文件用於記錄屏幕的輸出,方便以後的分析(這是可選的,但建議使用該選項)。
當使用了-t選項而沒有標明語句終結符,則分號(;)會默認為語句的終結符。有時可能會出現使用另外的終結符的情況,例如用SQL PL 編寫的的腳本使用其它的符號而不是默認的分號,因為分號在SQL PL 是用於定義資料庫對象過程中的語句結束。

❹ 嵌入式sql c文件中返回db2 sqlcode 是-1531 表示什麼意思

參考答案 想污染一個地方有兩種方法:垃圾,或是鈔票!

❺ 嵌入式SQL的簡介

嵌入式SQL(英文: Embedded SQL)是一種將SQL語句直接寫入C語言,COBOL,FORTRAN, Ada等編程語言的源代碼中的方法。藉此方法,可使得應用程序擁有了訪問數據以及處理數據的能力。在這一方法中,將SQL文嵌入的目標源碼的語言稱為宿主語言。
在SQL標準的SQL86(1986年發布)中定義了對於COBOL, FORTRAN, PI/L等語言的嵌入式SQL的規范。在SQL89(1989年發布)規范中,定義了對於C語言的嵌入式SQL的規范。一些大型的資料庫廠商發布的資料庫產品中,都提供了對於嵌入式SQL的支持。比如Oracle, DB2等。

❻ 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

❼ 請教db2下嵌入式sql-c 開發問題

b/g/h三個表的workdate有索引么看另外,1.如果可能最好將所有聯表用的欄位都進行索引,2.(workdate,agentserialno)可以考慮二維索引,前提是空間足夠的話,這樣效率提高會非常明顯。

❽ 請問在DB2嵌入式清表語句出錯怎麼改

import load 不是在哪兒都能用的
1、我建議不要用ALTER TABLE daily_txlog2 ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE語句來清空表,當出現異常時會導致表不可用,而且不能修復,只能刪除後重建。
2、import和load語句得調用系統函數來執行:CALL SYSPROC.ADMIN_CMD('import from /dev/null of del replace into daily_txlog1');

❾ sqllite,mysql,db2,sqlservice這些資料庫是什麼關系

SQLLite
是一款輕型的資料庫,是遵守ACID的關聯式資料庫管理系統,它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它佔用資源非常的低,在嵌入式設備中,可能只需要幾百K的內存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統,同時能夠跟很多程序語言相結合,比如 Tcl、C#、PHP、Java等,還有ODBC介面,同樣比起Mysql、PostgreSQL這兩款開源世界著名的資料庫管理系統來講,它的處理速度比他們都快。

MySql
是一個關系型資料庫管理系統,由瑞典MySQL AB公司開發,目前屬於Oracle公司。MySQL是一種關聯資料庫管理系統,關聯資料庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。它分為社區版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇MySQL作為網站資料庫。由於其社區版的性能卓越,搭配PHP和Apache可組成良好的開發環境。

DB2
是IBM公司研製的一種關系型資料庫系統。DB2主要應用於大型應用系統,具有較好的可伸縮性,可支持從大型機到單用戶環境,應用於OS/2、Windows等平台下。 DB2提供了高層次的數據利用性、完整性、安全性、可恢復性,以及小規模到大規模應用程序的執行能力,具有與平台無關的基本功能和SQL命令。DB2採用了數據分級技術,能夠使大型機數據很方便地下載到LAN資料庫伺服器,使得客戶機/伺服器用戶和基於LAN的應用程序可以訪問大型機數據,並使資料庫本地化及遠程連接透明化。 它以擁有一個非常完備的查詢優化器而著稱,其外部連接改善了查詢性能,並支持多任務並行查詢。 DB2具有很好的網路支持能力,每個子系統可以連接十幾萬個分布式用戶,可同時激活上千個活動線程,對大型分布式應用系統尤為適用。

SQL Server
是由Microsoft開發和推廣的關系資料庫管理系統(DBMS),並於1988年推出了第一個OS/2版本。目前最新版本是2012年3月份推出的SQL SERVER 2012。
1.真正的客戶機/伺服器體系結構。
2.圖形化用戶界面,使系統管理和資料庫管理更加直觀、簡單。
3.豐富的編程介面工具,為用戶進行程序設計提供了更大的選擇餘地。
4.SQL Server與Windows NT完全集成,利用了NT的許多功能,如發送和接受消息,管理登錄安全性等。SQL Server也可以很好地與Microsoft BackOffice產品集成。
5.具有很好的伸縮性,可跨越從運行Windows 95/98的膝上型電腦到運行Windows 2000的大型多處理器等多種平台使用。
6.對Web技術的支持,使用戶能夠很容易地將資料庫中的數據發布到Web頁面上。
7.SQL Server提供數據倉庫功能,這個功能只在Oracle和其他更昂貴的DBMS中才有。

上述資料來源於互聯網整理得到