当前位置:首页 » 数据仓库 » 数据库编程接口
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

数据库编程接口

发布时间: 2022-05-06 19:51:25

A. 什么是数据库接口和数据库驱动程序

数据库连接接口就是一串字符串。是第三方数据库开发商规定用来寻找他们自己定义的驱动的。驱动当然也是他们开发的。

B. MFC开发Oracle数据库,选择什么接口好

1.开放数据库连接(ODBC API):提供了一个通用的编程接口,允许程序与多种不同的数据库连接。它为Oracle,sql Server,MS Excel等都提供了驱动程序,使得用户可以使用SQL语句对数据库进行直接的底层功能操作。在使用ODBC API时,用户须引入的头文件为 "sql.h ", "sqlext.h ", "sqltypes.h "。用ODBC API创建数据库应用程序遵循一定的基本步骤:

第一步是分配ODBC环境,使一些内部结构初始化。完成这一步,须分配一个SQLHENV类型的变量在ODBC环境中做句柄使用。

第二步是为将要使用的每一个数据源分配一个连接句柄,由函数SQLALLocHandle()完成。

第三步是使用SQLConnect()把连接句柄与数据库连接,可以先通过SQLSetConnectAttr()设置连接属性。

然后就可以进行SQL语句的操作,限于篇幅,相关的函数就不具体介绍了,读者可以参考相关书籍。

操作完成后,用户取回相应的结果,就可以取消与数据库的连接

C. 列举一些C++中常用的数据库访问接口

500|Internet密钥交换,Lsass开放端口,不能关闭
509|陷阱
510|FirstClass协议
512|远程进程执行
513|远程登陆
514|cmd命令
515|spooler
516|可视化数据
518|交谈
519|unix时间
520|扩展文件名称服务器
525|时间服务
526|新日期
529|在线聊天系统服务
530|远程过程调用
531|聊天
532|读新闻
533|紧急广播端口
534|MegaMedia管理端
537|网络流媒体协议
542|商业
543|Kerberos(软件)v4/v5
544|krcmd命令
546|DHCPv6 客户端
547|DHCPv6 服务器
552|设备共享
554|Real Time Stream控制协议
555|木马PhAse1.0、Stealth Spy、IniKiller开放此端口
556|远距离文件服务器
563|基于TLS/SSL的网络新闻传输协议
564|plan 9文件服务
565|whoami查询
566|streettalk
567|banyan-rpc(远程过程调用)
568|DPA成员资格
569|MSN成员资格
570|demon(调试监督程序)
571|udemon(调试监督程序)
572|声纳
573|banyan-贵宾
574|FTP软件代理系统
581|Bundle Discovery 协议
582|SCC安全
583|Philips视频会议
584|密钥服务器
585|IMAP4+SSL (Use 993 instead)
586|密码更改
587|申请
589|Eye连结
595|CAB协议
597|PTC名称服务
598|SCO网络服务器管理3
599|Aeolon Core协议
600|Sun IPC(进程间通讯)服务器
601|可靠系统登陆服务
604|通道
606|Cray统一资源管理
608|发送人-传递/提供 文件传输器
609|npmp-陷阱
610|npmp-本地
611|npmp-gui( 图形用户界面)
612|HMMP指引
613|HMMP操作
614|SSL(加密套接字协议层)shell(壳)
615|Internet配置管理
616|SCO(Unix系统)系统管理服务器
617|SCO桌面管理服务器
619|Compaq(康柏公司)EVM
620|SCO服务器管理
623|ASF远程管理控制协议
624|Crypto管理
631|IPP (Internet打印协议)
633|服务更新(Sterling软件)
637|局域网服务器
641|repcmd命令
647|DHCP(动态主机配置协议)Failover
648|注册登记协议(RRP)
649|Cadview-3d软件协议
666|木马Attack FTP、Satanz Backdoor开放此端口
808|ccproxy http/gopher/ftp (over http)协议
1001|木马Silencer,WebEx开放端口
1011|木马Doly开放端口
1024|动态端口的开始,木马yai开放端口
1025|inetinfo.exe(互联网信息服务)木马netspy开放端口
1026|inetinfo.exe(互联网信息服务)
1027|应用层网关服务
1030|应用层网关服务
1031|BBN IAD
1033|本地网络信息端口
1034|同步通知
1036|安全部分传输协议
1070|木马Psyber Stream,Streaming Audio开放端口
1071|网络服务开放端口
1074|网络服务开放端口
1080|Socks这一协议以通道方式穿过防火墙,允许防火墙后面的人通过一个IP地址访问INTERNET
1110|卡巴斯基反病毒软件开放此端口
1125|卡巴斯基反病毒软件开放此端口
1203|许可证生效端口
1204|登陆请求监听端口
1206|Anthony数据端口
1222|SNI RD网络端口
1233|普遍的附录服务器端口
1234|木马SubSeven2.0、Ultors Trojan开放此端口
1243|木马SubSeven1.0/1.9开放此端口
1245|木马Vodoo,GabanBus,NetBus,Vodoo开放此端口
1273|EMC-网关端口
1289|JWalk服务器端口
1290|WinJa服务器端口
1333|密码策略(网络服务)(svchost.exe)
1334|网络服务(svchost.exe)
1335|数字公正协议
1336|即时聊天协议(svchost.exe)
1349|注册网络协议端口
1350|注册网络协议端口
1371|富士通配置协议端口
1372|富士通配置协议端口
1374|EPI软件系统端口
1376|IBM个人-个人软件端口
1377|Cichlid许可证管理端口
1378|Elan许可证管理端口
1380|Telesis网络许可证管理端口
1381|苹果网络许可证管理端口
1386|CheckSum 许可证管理端口
1387|系统开放端口(rundll32.exe)
1388|数据库高速缓存端口
1389|文档管理端口
1390|存储控制器端口
1391|存储器存取服务器端口
1392|打印管理端口
1393|网络登陆服务器端口
1394|网络登陆客户端端口
1395|PC工作站管理软件端口
1396|DVL活跃邮件端口
1397|音频活跃邮件端口
1398|视频活跃邮件端口
1399|Cadkey许可证管理端口
1433|Microsoft的SQL服务开放端口
1434|Microsoft的SQL服务监视端口
1492|木马FTP99CMP开放此端口
1509|木马Psyber Streaming Server开放此端口
1512|Microsoft Windows网络名称服务
1524|许多攻击脚本安装一个后门SHELL于这个端口
1600|木马Shivka-Burka开放此端口
1645|远程认证拨号用户服务

D. sql server 2000 有哪些编程接口


1、不同之:组织方式.文件系统的文件通常是由操作系统规定的,但是功能方面比较简单,方便查找定位之用,文件与文件之间不能调用数据;而数据库中的文件是由数据库软件组织的,其程度很高,能方便查找,更重要是它们之间联系紧密!能相互传递据.

2、(1)物理数据层。它是数据库的最内层,是物理存贮设备上实际存储的数据的集合。这些数据是原始数据,是用户加工的对象,由内部模式描述的指令操作处理的位串、字符和字组成。

(2)概念数据层。它是数据库的中间一层,是数据库的整体逻辑表示。指出了每个数据的逻辑定义及数据间的逻辑联系,是存贮记录的集合。它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。

(3)逻辑数据层。它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。

3、程序和数据的独立性是数据库的主要特征之一.作为工程数据库管理系统,也必须保持这个特征.为此,介绍了具体的工程数据库管理系统EDRMS程序与数据的独立性实现,并用实例予以说明.


1、a关系:关系是一个二维表,表的每行对应一个元组,表的列对应属性。
b属性:指关系中的列;
域:值的集,每个属性的取值的范围;
元组(Tuple):给出一组域产生笛卡儿乘积D1,D2…Dn,产生笛卡儿乘积D1*D2*….Dn=其中(d1,d2..dn)为元组。
c
关系的表:是一个简单的表,不准许出现组合的属性。
d用二维表的形式来表示实体集属性间的关系,以及实体之间联系的形式。


1、等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。

自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。


1、在SQL Server 2000 中,数据库由存储特定结构化数据集的表集合组成。表中包含行(有时称作记录或元组)和列(有时称作特性)的集合。表中的每一列都设计为存储某种类型的信息(例如,日期、名称、美元金额或数字)。表上有几种控制(约束、规则、触发器、默认值和自定义用户数据类型)用于确保数据的有效性。表上可以有索引,利用索引可以快速地找到行。可将声明引用完整性 (DRI) 约束添加到表上,以确保不同表中相互关联的数据保持一致。数据库还可以存储过程,这些过程使用 Transact-SQL 编程代码对数据库中的数据进行操作,如存储对表数据提供自定义访问的视图。

2、SQL Server 2000 使用一组文件映射数据库。数据库中的所有数据和对象(如表、存储过程、触发器和视图)都存储在文件组中。

3、主要数据文件,次要数据文件,事务日志文件

4、因为利用事务日志备份可以将数据库恢复到特定的即时点(如输入不想要的数据之前的那一点)或故障发生点。在媒体恢复策略中应考虑利用事务日志备份。


1、表是包含数据库中所有数据的数据库对象。表定义为列的集合。
2、每行代表惟一的一条记录,而每列代表记录中的一个域。
3、一对多关系,多对多关系,一对一关系


1、Transact-Sql语言的分类如下:
数据类型
变量说明
用来说明变量的命令
流程控制语句
2、null表示空值;与其他的比较既非空于空值的区别;null在表中即为空挡数据。

5、通常与LIKE关键字一起来使用
可以用在检查约束中使用LIKE
在后面的查询语句中还会经常使用到

6、ORDER BY是一个可选的子句,它允许你根据指定要order by的列来以上升或者下降的顺序来显示查询的

9、.SQL;文本文档


数据库中的索引与书籍中的目录类似。在一本书中,利用目录可以快速查找所需信息,无须阅读整本书。在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据。数据库中的索引是一个表中所包含的值的列表,其中注明了表中包含各个值的行所在的存储位置。可以为表中的单个列建立索引,也可以为一组列建立索引;索引采用B树结构。索引包含一个条目,该条目有来自表中每一行的一个或多个列(搜索关键字)。B树按搜索关键字排序,可以在搜索关键字的任何子词条集合上进行高效搜索。例如,对于一个A、B、C列上的索引,可以在A,A、B,A、B、C上对其进行高效搜索。

在随SQL Server 2000 提供的pubs示例数据库中,employee表在emp_id列上有一个索引。当SQL Server执行一个语句,在employee 中根据指定的emp_id值查找数据时,它能够识别emp_id列的索引,并使用该索引查找所需数据。如果该索引不存在,它会从表的第一行开始,逐行搜索指定的emp_id值。

SQL Server 2000为某些类型的约束(如PRIMARY KEY和UNIQUE约束)自动创建索引。可以通过创建不依赖于约束的索引,进一步对表定义进行自定义。

不过,索引为性能所带来的好处却是有代价的。带索引的表在数据库中会占据更多的空间。另外,为了维护索引,对数据进行插入、更新、删除操作所花费的时间会更长。在设计和创建索引时,应确保对性能的提高程度大于在存储空间和处理资源方面的代价。

在考虑是否为一个列创建索引时,应考虑被索引的列是否以及如何用于查询中。索引对下列查询很有帮助:

l 搜索符合特定搜索关键字值的行(精确匹配查询)。精确匹配比较是指查询使用 WHERE 语句指定具有给定值的列条目。例如WHERE emp_id = 'VPA30890F'。

l 搜索其搜索关键字值为范围值的行(范围查询)。范围查询是指查询指定其值介于两个值之间的任何条目。例如WHERE job_lvl BETWEEN 9 and 12。

l 在表 T1 中搜索根据联接谓词与表 T2 中的某个行匹配的行(索引嵌套循环联接)。

l 在不进行显式排序操作的情况下产生经排序的查询输出,尤其是经过排序的动态游标。

l 在不进行显式排序操作的情况下,按一种有序的顺序对行进行扫描,以允许基于顺序的操作,如合并联接和流聚合。

l 以优于表扫描的性能对表中所有的行进行扫描,性能提高是由于减少了要扫描的列集和数据总量(该查询有覆盖索引可供使用)。

l 搜索插入和更新操作中重复的新搜索关键字值,以实施PRIMARY KEY和 UNIQUE 约束。

l 搜索已定义了FOREIGN KEY约束的两个表之间匹配的行。

在很多查询中,索引可以带来多方面的好处。例如,索引除了可以覆盖查询外,还使得可以进行范围查询。SQL Server 2000可以在同一个查询中为一个表使用多个索引,并可以合并多个索引,以便搜索关键字共同覆盖一个查询。另外,SQL Server会自动确定利用哪些索引进行查询,并且能够在表被改动时确保该表的所有索引都得到维护。

一个表如果建有大量索引会影响 INSERT、UPDATE 和 DELETE 语句的性能,因为在表中的数据更改时,所有索引都须进行适当的调整。另一方面,对于不需要修改数据的查询(SELECT 语句),大量索引有助于提高性能,因为SQL Server 2000有更多的索引可供选择,以便确定以最快速度访问数据的最佳方法。对小型表进行索引可能不会产生优化效果,因为 SQL Server 2000在遍历索引以搜索数据时,花费的时间可能会比简单的表扫描还长。


视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。

对其中所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其他数据库的一个或多个表,或者其他视图。分布式查询也可用于定义使用多个异类源数据的视图。如果有几台不同的服务器分别存储组织中不同地区的数据,而用户需要将这些服务器上相似结构的数据组合起来,这种方式就很有用。通过视图进行查询没有任何限制,通过它们进行数据修改时的限制也很少。

视图通常用来集中、简化和自定义每个用户对数据库的不同认识。视图可用作安全机制,方法是允许用户通过视图访问数据,而不授予用户直接访问视图基础表的权限。从SQL Server 2000 复制数据时也可使用视图来提高性能并分区数据。

视图可以简化用户操作数据的方式。可将经常使用的联接、投影、联合查询和选择查询定义为视图,这样,用户每次对特定的数据执行进一步操作时,不必指定所有条件和限定。例如,一个用于报表目的,并执行子查询、外联接及聚合以从一组表中检索数据的复合查询,就可以创建为一个视图。视图简化了对数据的访问,因为每次生成报表时无需写或提交基础查询,而是查询视图。

视图允许用户以不同的方式查看数据,即使他们同时使用相同的数据时也如此。这在具有不同目的和技术水平的用户共享同一个数据库时尤为有利。例如,可定义一个视图以仅检索由客户经理处理的客户数据。视图可以根据使用该视图的客户经理的登录 ID 决定检索哪些数据。

可使用视图将数据导出至其他应用程序。例如,可能希望使用pubs数据库中的stores和sales表在Excel中分析销售数据。为此,可创建一个基于stores和sales表的视图。然后使用数据导入导出工具导出由视图定义的数据。

Transact-SQL UNION 集合运算符可在视图内使用,以将来自不同表的两个或多个查询结果组合成单一的结果集。这在用户看来是一个单独的表,称为分区视图。例如,如果一个表含有华盛顿的销售数据,另一个表含有加利福尼亚的销售数据,即可从 UNION 创建这两个表的视图。该视图代表了这两个区域的销售数据。使用分区视图时,首先创建几个相同的表,指定一个约束以决定可在各个表中添加的数据范围。视图即使用这些基表创建。当查询该视图时,SQL Server 自动决定查询所影响的表,并仅引用这些表。例如,如果一个查询指定只需要华盛顿特区的销售数据,则 SQL Server 只读取含有华盛顿特区销售数据的表,而并不访问其余的表。分区试图可基于来自多个异类源(如远程服务器)的数据,而不仅仅局限于同一数据库中的表。例如,要将分别存储组织中不同区域数据的几台远程服务器上的数据组合起来,可以创建分布式查询,从每个数据源中检索数据,然后基于这些分布式查询创建视图。所有查询都只从包含查询所请求数据的远程服务器上读取表中的数据,其他在视图中由分布式查询引用的服务器均不被访问。


在使用SQL Server 2000 创建应用程序时,Transact-SQL编程语言是应用程序和SQL Server数据库之间的主要编程接口。使用Transact-SQL程序时,可用两种方法存储和执行程序。可以在本地存储程序,并创建向SQL Server发送命令并处理结果的应用程序;也可以将程序在SQL Server中存储为存储过程,同时创建执行存储过程并处理结果的应用程序。

SQL Server 2000中的存储过程与其他编程语言中的过程类似,利用存储过程可以完成以下任务。

l 接受输入参数并以输出参数的形式将多个值返回至调用过程或批处理。

l 包含执行数据库操作(包括调用其他过程)的编程语句。

l 向调用过程或批处理返回状态值,以表明成功或失败(以及失败原因)。

l 可使用 Transact-SQL EXECUTE 语句运行存储过程。存储过程与函数不同,因为存储过程不返回取代其名称的值,也不能直接用在表达式中。

使用SQL Server 2000中的存储过程代替存储在客户计算机本地的Transact-SQL程序有很多的好处。

l 允许模块化程序设计。只需创建过程一次并将其存储在数据库中,以后即可在程序中调用该过程任意次。存储过程可由在数据库编程方面有专长的人员创建,并可独立于程序源代码而单独修改。

l 允许更快执行。如果某操作需要大量Transact-SQL代码或需重复执行,存储过程将比Transact-SQL批代码的执行要快。将在创建存储过程时对其进行分析和优化,并可在首次执行该过程后使用该过程的内存中版本。每次运行Transact-SQL语句时,都要从客户端重复发送,并且在SQL Server 2000每次执行这些语句时,都要对其进行编译和优化。

l 减少网络流量。一个需要数百行Transact-SQL代码的操作由一条执行过程代码的单独语句就可实现,而不需要在网络中发送数百行代码。

l 可作为安全机制使用。即使对于没有直接执行存储过程中语句的权限的用户,也可授予他们执行该存储过程的权限。

十一
SQL Server 2000 提供了两种主要机制来强制业务规则和数据完整性:约束和触发器。触发器是一种特殊类型的存储过程,它在指定的表中的数据发生变化时自动生效。唤醒调用触发器以响应INSERT、UPDATE或DELETE语句。触发器可以查询其他表,并可以包含复杂的Transact-SQL语句。触发器和触发它的语句要作为可在触发器内回滚的单个事务对待。如果检测到严重错误(例如磁盘空间不足),则整个事务即自动回滚。

触发器可通过数据库中的相关表实现级联更改。触发器可以强制CHECK约束定义的约束更为复杂的约束。与CHECK约束不同,触发器可以引用其他表中的列。例如,触发器可以使用另一个表中的SELECT比较插入或更新的数据,以及执行其他操作,如修改数据或显示用户定义错误信息。触发器也可以评估数据修改前后的表状态,并根据其差异采取对策。一个表中的多个同类触发器(INSERT、UPDATE或DELETE)允许采取多个不同的对策以响应同一个修改语句。

约束和触发器在特殊情况下各有优势。触发器的主要好处在于它们可以包含使用Transact-SQL代码的复杂处理逻辑。因此,触发器可以支持约束的所有功能;但它在所给出的功能上并不总是最好的方法。

实体完整性总应在最低级别上通过索引进行强制,这些索引或是PRIMARY KEY和UNIQUE约束的一部分,或是在约束之外独立创建的。假设功能可以满足应用程序的功能需求,域完整性应通过CHECK约束进行强制,而引用完整性则应通过FOREIGN KEY约束进行强制。

十二
先创建登录名,可以是windows登录名也可以sql登录名
windows登录名是windows操作系统已经存在的用户名
sql登录名要在sql中创建而得的
要创建windows登录名:
例如:已经在windows中存在一个pkxz用户,域名是xxiang
create login [xxiang\pkxz] from windows with default_database = css
alter login pkxz with name=ppp
drop login pkxz

注意:只有administrators组的用户可以访问所有实例,并可获所有访问权,
其余本地用户组里的组,只能相对应的访问实例。
例如:chenshanshan是users用户组里的,是[xxinag2006\pkxz]实例的域用户帐户,
chenshanshan只能访问这个实例,并可获所有访问权。
例如:joan是users用户组里的,是[xxinag2006\pkxz]实例的登录名,joan只能访问这个实例。
要创建sql登录名:
sql用户名是pkxz
create login pkxz with password ='xx121314' , default_database = css
alter login pkxz with password = 'pp'
drop login pkxz

注意:sql用户名只能相对应的访问实例
例如:pc是[xxiang\pkxz]的登录名,只能访问这个实例,不可访问别的实例。

两者都创建了登录名,且都是css为默认数据库

然后创建完后把登录名授予角色

sp_addsrvrolemember 'pkxz','sysadmin'
sp_dropsrvrolemember 'pkxz','sysadmin'

服务器角色只能访问相对应的实例操作!不能访问别的实例!

创建用户
Ceate user pkxz_user from login pkxz with default_schema = pkxz_schema
如果没有创建架构的话,默认是dbo架构,这里是pkxz_schema

创建架构
创建架构的同时还可以创建该架构所拥有的表,视图,羡慕且可以对这些对象设轩权限。
create schema pkxz_schema authorization pkxz_user
Create Table pp (pp int)
Grant Select To pkxz_user_1

数据库角色
可以自己添加,还有内置固定数据库角色
自己添加角色
create role CreateTable authorization pkxz_user // CreateTable是角色名
分配权限
Grant Insert To CreateTable
添加成员
sp_addrolemember 'CreateTable','pkxz_user_1'

public角色的两个特点,1、初始状态没有权限 2、所有的数据库的成员都是他的成员
当修改了public角色,其实更改了所有数据库成员的权限

权限的管理

Grant 授予 Revoke 收回权限 Deny 否认权限
例如:将一个表pt的插入权限授予pkxz_user_1
Grant Insert On pt To pkxz_user_1

E. 数据库接口技术是为了实现应用系统和数据库管理系统的链接而出现的技术对吗

对。
Microsoft推出的ODBCOpenDatabaseConnectivity技术,为异质数据库的访问提供了统一的接口。ODBC基于SQStructuredQueryLanguage,并把它作为访问数据库的标准。这个接口提供了最大限度的相互可操作性,一个应用程序可以通过一组通用的代码访问不同的数据库管理系统。一个软件开发者开发的客户/服务器应用程序不会被束定于某个特定的数据库之上。ODBC可以为不同的数据库提供相应的驱动程序。

F. 什么是数据库应用程序交互的主要接口

数据库接口:是一串字符串。是第三方数据库开发商规定用来寻找他们自己定义的驱动的。

数据库驱动程序:是一个动态链接库(DLL),用以将特定的开放式数据库连接的数据源和另一个应用程序(客户端)相连接。

举一个例子:
就像电脑主板上有显卡,如果要正常工作就需要对应的驱动,同样数据库其实是一个结构化存储数据的文件,有了相应数据库的驱动你才能对其进行操作,数据库驱动程序有接口,其他的应用程序通过这个接口来操作数据库。
你需要一种脚本语言来链接数据库文件并对其进行操作时,你需要数据库的相应驱动,而这种脚本语言会通过这个驱动的接口来实现链接

G. 什么是jdbc编程接口

jdbc是用来对数据库进行操作的函数库,对屏蔽了数据库不同导致的不同访问方法,只需设置连接字符串便可实现对不同数据库的访问

H. Java编程开发数据库访问类和接口有哪几个

有三个发送sql语句的 statement 发送执行语句,preparedstatement 发送预编译自执行语句,callablestatement发送存储过程语句


I. 数据库接口的数据库接口技术

Microsoft推出的ODBC(Open Database Connectivity)技术 为异质数据库的访问提供了统一的接口。ODBC基于SQL(Structured Query Language),并把它作为访问数据库的标准。这个接口提供了最大限度的相互可操作性:一个应用程序可以通过一组通用的代码访问不同的数据库管理系统。一个软件开发者开发的客户/服务器应用程序不会被束定于某个特定的数据库之上。ODBC可以为不同的数据库提供相应的驱动程序。 什么是ODBC ?
ODBC基于SQL(Structured Query Language),并把它作为访问数据库的标准。这个接口提供了最大限度的相互可操作性:一个应用程序可以通过一组通用的代码访问不同的数据库管理系统。
与ODBC有关的名词
ODBC驱动程序:是一个动态链接库(DLL),用以将特定的开放式数据库连接的数据源和另一个应用程序(客户端)相连接。
ODBC数据源:作为数据源使用的数据库或数据库服务器。ODBC数据源通过它们的数据源名称来引用,或者通过具体引用ODBC驱动程序和服务器名称来引用。可以在Windows的控制面板中使用ODBC管理程序或rdoRegisterDataSource(一个ODBC API)方法来注册命名的数据源。
ODBC驱动程序管理器:提供从主机语言到特定后端数据源驱动程序的接口。
ODBC API:数据库厂商为程序设计者提供的直接访问数据库的一组函数。注意:这里要指出的是,虽然ODBC API提供了很多很方便而且强大的功能。但是通常来说ODBC API都比较难学,而且使用很容易出错。虽然允许用ODBC API来操作ODBC句柄,但还是要小心,如果不正确地使用ODBC API,可能会导致不可预知的错误。例如,假如使用ODBC API代码来关闭连接或释放这些ODBC句柄中的任何一个,那么RemoteData控件或RDO的行为将是不可预知的。保存ODBC句柄以供备用也是没有意义的,因为它们是可变的。 什么是JDBC ?
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。
简单地说,JDBC 可做三件事:、发送 操作数据库的语句并处理结果。下列代码段给出了以上三步的基本示例:
Connection con = DriverManager.getConnection(jdbc:odbc:wombat,login,
password);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(SELECT a, b, c FROM Table1);
while (rs.next()) {
int x = rs.getInt(a);
String s = rs.getString(b);
float f = rs.getFloat(c);
}
上述代码对基于JDBC的数据库访问做了经典的总结。
这里简单介绍下ODBC和JDBC,如果想详细了解的同学可以单击链接去相应词条。

J. 如何为sql server数据库写一个编程接口,需要注意什么问题

编程写一个连接池
用的时候从池中拿出connection,不用了就还回去
每次取的时候判断是否为null,是就给个新的,不是就继续让他用