Chinaunix首页 | 论坛 | 博客
  • 博客访问: 105477794
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477795
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477796
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477797
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477798
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477799
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477800
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477801
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477802
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477803
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477794
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477805
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477806
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477807
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477808
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477809
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477810
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477811
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477812
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477813
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477814
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477815
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477816
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477817
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477818
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477809
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477820
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477821
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477822
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477823
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477824
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477825
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477826
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477827
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477828
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477829
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477830
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477831
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477832
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477833
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477824
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477835
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477836
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477837
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477838
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477839
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477840
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477841
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477842
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477843
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477844
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 4 部分: 嵌入式 SQL 编程(5)-sdccf-ChinaUnix博客
  • 博客访问: 105477845
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:29:48

构建与 DB2 进行交互的应用程序

developerWorks



创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210433) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210432) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210431) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210430) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210429) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210428) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210427) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210426) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210425) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210424) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210423) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210422) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210421) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210420) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210419) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210418) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210417) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210416) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210415) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210414) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210413) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210412) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210411) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210410) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210409) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210408) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210407) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210406) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210405) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210404) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210403) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210402) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210401) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210400) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210399) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210398) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210397) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210396) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210395) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210394) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210393) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210392) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210391) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210390) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210389) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210388) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210387) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210386) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210385) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210384) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210383) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


创建可执行的应用程序

到目前为止,我们已经讨论了在高级编程语言源代码文件中嵌入 SQL 语句的基本步骤,但是还没有详细讨论如何将包含嵌入式 SQL 语句的源代码文件转换成可执行的应用程序。一旦编写好源代码文件,在创建与 DB2 数据库进行交互的应用程序之前,必须按所示次序执行下列步骤:

  1. 必须对所有包含嵌入式 SQL 语句的源代码文件进行预编译。在预编译过程中,包含嵌入式 SQL 语句的源代码文件被转换为完全由高级编程语言语句组成的源代码文件 —— 嵌入式 SQL 语句本身被注释掉,并将相应的 DB2 特定的函数调用放在它们的位置上。

    同时,创建一个相应的包,其中包含用来处理源代码文件中嵌入的每个静态 SQL 语句的访问计划(还包含其他内容)。(访问计划包含 DB2 Database Manager 用来执行 SQL 语句的优化的信息;静态 SQL 语句的访问计划是在预编译时产生的,而动态 SQL 语句的访问计划是在应用程序运行时产生的。)SQL 预编译器产生的包可以在生成它们时存储在预编译器所使用的数据库中,也可以将它们写入一个外部绑定文件,以后可以将该文件绑定到任何有效的 DB2 数据库中(将包存储到适当数据库中的过程称为绑定)。如果没有另外指定,SQL 预编译器还会负责检查静态 SQL 语句中引用的所有数据库对象(比如表和列)是否实际存在,以及应用程序中使用的所有数据类型是否与数据库中的数据类型兼容。(这就是在运行 SQL 预编译器时必须连接到数据库的原因。)

  2. 包含嵌入式 SQL 语句的源代码文件一旦经由 SQL 预编译器处理,就必须用高级编程语言编译器来编译所产生的源代码文件(以及所需的其他源代码文件)。这个编译器负责将源代码文件转换成目标模块,链接器(linker)可以使用这些目标模块来创建可执行的程序。

  3. 当成功编译了构建应用程序所需的所有源代码文件之后,必须将产生的目标模块与高级编程语言库以及 DB2 库链接起来,生成可执行的程序。在大多数情况下,产生的程序以可执行应用程序的形式存在。然而,它也可以以共享库或动态链接库(DLL)的形式存在,其他可执行应用程序可以加载和执行这些库。

  4. 如果由 SQL 预编译器处理的文件的包没有绑定到适当的数据库上,就必须使用在预编译过程中产生的绑定文件来绑定它们。使用称为 DB2 Binder(或简称为 Binder)的工具完成绑定过程。

图 1 说明了在使用延迟绑定时,将嵌入式 SQL 源代码文件转换为可执行应用程序的基本过程。



构建过程
阅读(210382) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~