实验三:通过编程访问数据库
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的标准函数访问数据库,并且对数据库进行操作
要求:提交程序
注:请提交设计文档,尽可能清楚明白地说明程序的功能,实现的方法,关键数据结构、变量、函数的定义。对于有关问题需要回答和说明的请另附文档。 |