首 页 教材与教辅 教学大纲 电子教案 视频教学 动画演示 课程实验 联系我们
实验三:通过编程访问数据库

1.实验目的

熟悉通过编程的方式嵌入SQL语言对数据库进行操作:
1.
熟悉通过嵌入式SQL编程访问数据库
2.
熟悉通过ODBC接口访问数据库

2.实验工具

通过C语言编写访问数据库的应用程序来对数据库进行各种数据操作。编程工具自选。

3.实验内容和要求

所有的SQL操作均在自己建立的新库里进行,在Kingbase中建立一个名为TEMP的库,再TEMP库中进行各种操作。
根据以下要求认真填写实验报告,并且提交源程序,保证可正确编译运行。

3.1嵌入式SQL

将一段连续的SQL操作写成嵌入到C程序中的程序,调试程序,使得程序能完成一项复杂的数据访问功能。

要求:提交程序

嵌入式SQL由SQL语句和C/C++代码组成。其中SQL语句由预处理器翻译成C或C++的源代码。对预处理后的源代码进行编译、连接生成可执行程序后方可运行。

KingBase ES预处理器

KingBase ES的预处理程序是ecsys.exe。其常用的语法格式如下:

·ecsys详细的语法格式以及参数意义,请看联机帮助。

·要求程序文档名的后缀为.pc,可以省略。

·预编译后得到的文档,与程序文档同名,后缀为.c;放在与程序文档名同一个路径下

ecsys.exe在KingBase ES的安装目录的Kingbase\client下。例如,如果Kingbase ES的安装目录是C:\Program Files\Kingbase,那么ecsys.exe则在C:\Program Files\Kingbase\client。在安装SQL Server时并不会同时安装预编译应用程序nsqlprep.exe,需要将此文件另拷贝至安装目录下;而Kingbase ES在安装时会同时安装此文件,因此并不需要另外拷贝。

连接方式

经预处理后的c文件就可以用c的编译器进行编译连接了。

使用Visual C++ 6.0进行编译连接,连接方式是动态连接,用到动态链接库libecsys.dll,同时要把该路径加到系统的路径变量中,以使得程序运行时能找到这两个文件。

方法1:把该文件拷贝到操作系统目录下的子目录system32中

方法2:把C:\Program Files\Kingbase\client加到系统环境变量path中。“我的电脑”->“属性”->“高级”->“环境变量”->“path,编辑”。

在变量值中加入该路径值;注意,路径间用分号;”分开。

•初始化环境:

1.初始化Kingbase的预编译环境。

初始化Visual C++ 6.0 编译器环境,运行文件:\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT

初始化Kingbase的预编译环境,运行文件:\devtools\samples\esqlc\setenv.bat。

2.初始化Visual C++ 6.0环境。

•Tools->options->directories->Include

•Files: C:\Program Files\Kingbase\client\include

• Tools->options->directories->Lib
 Files: C:\Program Files\Kingbase\client\lib
 最好把上面添加的两个路径,放在各自的列表首位,以防名字冲突。

• Project->Settings->Link->Object/Library Modules,添加库文件:
  libdump.dll,libpq.dll
  注意,两个文件之间用空格分开。

3.2通过ODBC方式访问数据库

预备知识:

— 配置ODBC数据源,通过什么方式配置?(提示:两种方式)

— 通过ODBC的标准函数访问数据库,并且对数据库进行操作

要求:提交程序

注:请提交设计文档,尽可能清楚明白地说明程序的功能,实现的方法,关键数据结构、变量、函数的定义。对于有关问题需要回答和说明的请另附文档。

  王  珊  教授
  萨师煊  教授