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位操作系统下 常见编译器下的数据类型大小及表示的数据范围: