数据库链接方式(一)
( odbc篇)
1、 产生:
数据库
早期的数据库连接是非常困难的. 因为各种数据库的格式都不一样,开发者得对他们所开发的每种数据库的底层API必须有深刻的了解. 因此,能处理各种各样数据库的通用的API就应运而生了-―ODBC(Open Database Connectivity), ODBC是人们在创建通用API的早期产物。在程序中可以使用相同的代码访问不同的数据产品,因此有许多种数据库(如:Access, MS-SQL Server, Oracle, Informix等.)遵从了这种标准,被称为ODBC兼容的数据库. ODBC的具体作用如图所示:
一般,odbc是由一套扩展的dll(dynamiclinklibrary动态链接库)组成,dll提供了标准的数据库应用程序设计接口。而odbc是建立在标准化的sql(structuredQueryLanguage,结构化查询语言)之上。所以通过odbc和sql,就可以编写独立于任何数据库产品的数据访问程序。
2、用odbc连接数据库:
odbc中提供三种dsn,它们的区别很简单:用户dsn只能用于本用户。系统dsn和文件dsn的区别只在于连接信息的存放位置不同:系统dsn存放在odbc储存区里,而文件dsn则放在一个文本文件中。
在asp中使用它们时,写法如下:
A.链接sql server:
用系统dsn:
connstr="DSN=dsnname;UID=xx;PWD=xxx;DATABASE=dbname"
用文件dsn:
connstr="FILEDSN=xx;UID=xx;PWD=xxx;DATABASE=dbname"
还可以用连接字符串(从而不用再建立dsn):
connstr="DRIVER={SQL SERVER};SERVER=servername;UID=xx;PWD=xxx"
B.链接access:
用系统dsn:
connstr="DSN=dsnname"
(或者为:connstr="DSN=dsnname;UID=xx;PWD=xxx")
用文件dsn:
connstr="FILEDSN=xx"
还可以用连接字符串(从而不用再建立dsn):
connstr="DRIVER={Microsoft Access Driver};DBQ=d:\abc\abc.mdb"
3、缺陷:
ODBC含有大量的低级的调用,因此开发ODBC应用程序还比较困难. 开发者不得不将大量的精力花在底层的数据库通信中,而不能专注于他们所要处理的数据.