⑴ 试述嵌入式sql语言使用要考虑
嵌入式SQL程序的VC+SQL server 2000实现的环境配置
嵌入SQL的C应用程序具体到VC++6.0, SQL Server2000 下调试可分为五步:1、环境初始化;2、预编译;3、编译;4、连接;5、运行。下面就其中重要的的操作方法给以详细说明。
1、环境初始化
(1) SQL Server2000为其嵌入式SQL提供了一此特殊的接口;默认的安装方式没有安装这此接口;因此,需要把devtools.rar解压到SQLServer的系统日录下(即文件夹devtools中的所有文件);如果操作系统安装在C盘,则SQL Server的系统目录是C:\Program Files\Microsoft SQL Server。(或 在安装Microsoft SQL Server 2000时选择安装Development Tools,为使用嵌入式SQL语言准备必要的头文件和库文件。)
( 2)初始化Visual C++ 6.0编译器环境。在命令行方式下运行文件\Microsoft Visual Studio\VC98\Bin\vcvars32.bat。
(3)初始化SQL Server的预编译环境。在命令行方式下运行文件:\Devtools\samples\esqlc\setenv.bat。
( 4) VC++6.0环境配置。具体配置分为如下三步[:
①Tools->options->directories->Include Files:添加 C:\Program Files\Microsoft SQL Server\devtools\include。将SQL server自带的用于数据库开发的头文件包含到工程环境中。
②Tools->options->directories->Lib Files:添加C:\Program Files\Microsoft SQL Server\devtools\x861ib。将开发用到的包包含到工程中。
③project->Settings->Link->Object/Library Moles,添加库文件:SQLakw32.lib, Caw32.lib。这两个文件之间用空格分开。
2、预编译
C语言编译程序不能识别应用程序中的SQL语句,需要经过预处理程序将其转换成C语句。SQL Server的预处理程序是nsqlprep.exe。 nsqlprep.exe在SQL Server安装日录的MSSQL\Binn下。若SQL Server数据库采用的是默任安装方式,则需要把binn.rar的内容拷贝到指定目录下。
Microsoft SQL Server 2000提供的预编译程序nsqlprep.exe,用于对嵌入式SQL程序进行预编译处理,生成C语言源程序.实际上就是将嵌入式SQL程序中的嵌入式SQL语句替换为对运行时库文件Sqlakw32. dll的函数调用,接着运行时库文件调用动态连接库Ntwdblib. dll通过网络来存取Microsoft SQL Server 2000数据库服务器.
⑵ sql预处理和session
sql预处理对象
PreparedStatement pst = null;
connection.prepareStatement(sql);
Object[] pars = {name,pwd};
for(int i =0 ;i<pars.lenth;i++){
pst.setObject(i+1,pars[i]);
}
public int update(String sql,Object[] pars){
getCon();
int x = 0;
//sql预处理对象 PreparedStatement pst = null;
try {
pst = connection.prepareStatement(sql);
//pst.setString(1,user.getName());
//pst.setString(2,user.getPwd()); for(int i =0 ;i<pars.length;i++){
pst.setObject(i+1,pars[i]);
}
x = pst.executeUpdate();
}catch(SQLExeception e){
e.printStackTrace()
}
return x;
}
执行失败返回-1 执行成功有多少返回多少
session.getsession()
session.setsession()
⑶ 数据库问题:嵌入式sql语句与主语言之间的通信机制是怎样的
首先用SQL通信区(SQL
Communication
Area,简称SQLCA)向主语言传递SQL语句的执行状态信息,使主语言能够据此控制程序流程;在程序运行中,主语言向SQL语句提供参数,使用主变量(host
variable)输入数据;同时,程序把SQL语句查询数据库的结果交主语言进一步处理,其中使用主变量和游标(cursor)向主语言输出数据,从而实现了SQL语言的过程化工作。
SQL语句执行后,系统要反馈给应用程序若干信息,主要包括描述系统当前工作状态和运行环境的各种数据,这些信息将送到SQL通信区SQLCA中。应用程序从SQLCA中取出这些状态信息,据此决定接下来执行的语句。
⑷ 大学计算机 填空题
这么多---
⑸ 什么是嵌入式sql应用程序
嵌入式SQL
语言是将
SQL语句
直接嵌入到程序的源代码中,与其他
程序设计语言
语句混合.
嵌入式SQL的用途:它是数据库应用程序的一种开发方法.是一种应用程序进行数据库访问时所采取的编程式
数据库语言
.
⑹ sql嵌入式和授权有什么区别
不必逐个地为每个用户授予或撤销特权。
组提供了一种便利的方法为一组用户执行授权,而不必逐个地为每个用户授予或撤销特权。通常,动态SQL语句考虑组成员资格,但静态SQL语句并非如此。
嵌入式SQL是一种将SQL语句直接写入C语言,COBOL,FORTRAN,Ada等编程语言的源代码中的方法。在嵌入式SQL中,为了能够区分SQL语句与主语言语句,所以SQL语句都必须加前缀EXECSQL。SQL语句的结束标准则随主语言的不同而不同。
⑺ 交互式SQL与嵌入式SQL有什么不同
1、语言不同
交互式SQL是指在终端交互方式下使用的SQL语言称为交互式SQL;嵌入式SQL是一种将SQL语句直接写入C语言,COBOL,FORTRAN, Ada等编程语言的源代码中的方法。
2、使用不同
交互式SQL是在终端交互方式下使用;嵌入式SQL是嵌入在高级语言的程序中使用。
(7)嵌入式sql的预处理方式是指扩展阅读:
提供对于嵌入式SQL的支持,需要数据库厂商除了提供DBMS之外,还必须提供一些工具。为了实现对于嵌入式SQL的支持,技术上必须解决以下4个问题:
1、宿主语言的编译器不可能识别和接受SQL文,需要解决如何将SQL的宿主语言源代码编译成可执行码;
2、宿主语言的应用程序如何与DBMS之间传递数据和消息;
3、如何把对数据的查询结果逐次赋值给宿主语言程序中的变量以供其处理;
4、数据库的数据类型与宿主语言的数据类型有时不完全对应或等价,如何解决必要的数据类型转换问题。
嵌入式SQL源码的处理流程 为了解决上述这些问题,数据库厂商需要提供一个嵌入式SQL的预编译器,把包含有嵌入式SQL文的宿主语言源码转换成纯宿主语言的代码。
这样一来,源码即可使用宿主语言对应的编译器进行编译。通常情况下,经过嵌入式SQL的预编译之后,原有的嵌入式SQL会被转换成一系列函数调用。因此,数据库厂商还需要提供一系列函数库,以确保链接器能够把代码中的函数调用与对应的实现链接起来。
⑻ 什么是sql server 嵌入式简包
是要WEB SERVER支持的,但也可以自己写CGI处理用户的登录,简单的boa应该不支持,httpd支持basic认证,goahead可以。
⑼ 嵌入式SQL实现时,采用预处理方式是
识别出SQL语句,并处理成函数调用形式
⑽ sql的集合处理方式与宿主语言单记录
SQL的集合处理方式与宿主语言单记录处理方式之间要协调。需要采用游标机制,把集合操作转换成单记录处理方式。
一个SQL语句一般能处理一组记录,而主语言一次只能处理一个记录,为此必须协调两种处理方式,使它们相互协调地处理。
嵌入式SQL中是引入游标(Cursor)机制来解决这个问题的。游标是系统为用户开设的一个数据内存缓冲区,用来存放SQL语句的执行结果,每个游标区都有一个名字。用户可以通过游标逐一获取记录,并赋给主变量。
含义
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。