当前位置:首页 » 编程语言 » 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中才有。

上述资料来源于互联网整理得到