欢迎来到天天文库
浏览记录
ID:40843627
大小:311.00 KB
页数:13页
时间:2019-08-08
《数据库接口实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、北京邮电大学实验报告课程名称数据库系统原理实验内容实验四数据库接口实验班级2012211314姓名韩植/吴梦指导老师卢向群成绩_________2015年4月26日实验目的1.通过实验了解通用数据库应用编程接口ODBC的基本原理和实现机制,熟悉主要的ODBC接口的语法和使用方法;2.利用C语言(或其它支持ODBC接口的高级程序设计语言)编程实现简单的数据库应用程序,掌握基于ODBC的数据库访问的基本原理和方法。3.尝试使用SQLServer上的工具以特定格式导出数据,初步了解现代程序设计辅助工具的使用,加深对接口和数据库与外界的联系的认识。实验内容本实验内容主要是如何通过数据库接口
2、访问(包括增、删、改)数据库中的数据。要求能够通过编写程序或者使用SQLServer工具访问到数据。该实验的重点在于ODBC数据源配置和工具使用,而不在于编写有一定复杂度的程序。实验环境C/S结构,SQLServer企业版服务器及客户端。数据库存储在服务器上,表和视图定义也存储在服务器上,但同学通过网络使用客户端连接到服务器上进行操作。实验步骤1.实验准备:(a)以教科书第四章关于SQL语言相关内容为基础,课后查阅、自学ODBC接口有关内容,包括ODBC的体系结构、工作原理、数据访问过程、主要API接口的语法和使用方法等。(a)以实验二建立的数据库为基础,编写C语言(或其它支持OD
3、BC接口的高级程序设计语言)数据库应用程序,按照如下步骤访问数据库i.Step1.ODBC初始化,为ODBC分配环境句柄ii.Step2.建立应用程序与ODBC数据源的连接iii.Step3.利用SQLExecDirect语句,实现数据库应用程序对数据库中表(有数据)进行数据查询、修改、删除、插入等操作。要求先打印出所有记录,然后删除一行,再打印一次,进行修改,再打印一次,最后插入,再打印一次。iv.Step4.结束数据库应用程序因为这不是程序设计练习,所以只针对一张表就可以了。我们也不要求做出很好的界面,和允许用户选择如何操作数据,只要是完成基本功能就可以了。2.在Windows
4、控制面板中通过管理工具下的ODBC数据源工具在客户端新建连接到SQLServer服务器的ODBC数据源,测试通过后保存,注意名字要和应用程序中引用的数据源一样。3.编译程序并调试通过。4.利用数据库管理工具中的Web向导,创建一个查询MS表的信息网页。实验要求1.要求所编写的数据库访问应用程序中使用到以下主要的ODBCAPI函数:(1)SQLALLocEnv:初始化ODBC环境,返回环境句柄(2)SQLALLocConnect:为连接句柄分配内存并返回连接句柄(3)SQLConnect:连接一个SQL数据资源 (4)SQLDriverConnect连接一个SQL数据资源,允许驱动
5、器向用户询问信息 (5)SQLALLocStmt为语句句柄分配内存,并返回语句句柄(6)SQLExecDirect把SQL语句送到数据库服务器,请求执行由SQL语句定义的数据库访问(7)SQLFetchAdvances将游标移动到到查询结果集的下一行(或第一行)(8)SQLGetData按照游标指向的位置,从查询结果集的特定的一列取回数据(9)SQLFreeStmt释放与语句句柄相关的资源(10)SQLDisconnect切断连接(11)SQLFreeConnect释放与连接句柄相关的资源(12)SQLFreeEnv释放与环境句柄相关的资源实验结果与分析1、数据源的设置数据源测
6、试成功2、用编译器进行程序编写PC为win8.1系统,因兼容问题使用VS2012编译器代码如下:#include#include#include#include"sql.h"#include"sqltypes.h"#include"sqlext.h"RETCODEretcode;//结果返回集SQLHDBChdbc;//定义链接句柄voidprint();//打印子程序voidSQL(unsignedchar[]);//执行SQL语句子程序intmain(){SQLHANDLEhenv;//定义环境句柄unsignedch
7、arSY[]="hz";//ODBC数据源名称//unsignedchardb2[]="sa";//用户名//unsignedcharpass[]="HZ1994";//密码//分配ODBC环境retcode=SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&henv);if(retcode==SQL_SUCCESS
8、
9、retcode==SQL_SUCCESS_WITH_INFO)//声明环境retcode=SQLSetEn
此文档下载收益归作者所有