日期:2014-01-09  浏览次数:20526 次

关于ODBC数据源连接文本

  在《外部数据库的连接原理》一讲中我们说过,ODBC提供对多种数据库的支持,如dBase、Access、MS SQL Server及Oracle,也就是说运用ODBC数据源中所提供的连接代码,我们可以实现对多种数据库的连接。以连接Access数据库为例,ODBC数据源连接文本的格式是:
  “Driver={数据库驱动程序};Dbq=数据库文件;”

  在以上连接文本中,如果数据库跟程序在同一目录下,或者用变量DefaultDir指定了数据库所在目录,则数据库文件可以不用全路径名,如下即可:

  “ODBC;DBQ=MSAccess.mdb;Driver={Microsoft Access Driver (*.mdb)};”

  如下也可:

  “ODBC;DBQ=MSAccess.mdb;DefaultDir=d:\Downloads\e21;Driver={Microsoft Access Driver (*.mdb)};”

  如果数据库跟程序不在同一目录下,或者没有用变量DefaultDir指定数据库所在目录,则数据库文件需求用全路径名,如下:

  “ODBC;DBQ=E:\Quake III Arena\MSAccess.mdb;Driver={Microsoft Access Driver (*.mdb)};”

  以上所说的是连接Access数据库的格式,那么连接其他数据库的ODBC数据源连接文本又是怎样的?连接不同类型的数据库要使用不同的对应驱动程序,没忘记吧!不同的驱动程序当然它们的参数组合也就不同了,每一种不同驱动程序都有其特定的的参数方式:

  ⑴、MS Access ODBC DSNless 连接:

  ☆、参数:Driver 设置值:{Microsoft Access Driver (*.mdb)}
  ☆、参数:Dbq 设置值:实际路径文件名称
  ☆、例句:
  “Driver={Microsoft Access Driver (*.mdb)};Dbq=c: omepath\dbname.mdb;Uid=Admin;Pwd=pass; ”

  ⑵、dBase ODBC DSNless 连接:

  ☆、参数:Driver 设置值:{Microsoft dBASE Driver (*.dbf)}
  ☆、参数:Dbq 设置值:实际路径文件名称
  ☆、例句:
  “Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=c: omepath\dbname.dbf; ”

  ⑶、Oracle ODBC DSNless 连接:

  ☆、参数:Driver 设置值:{Microsoft ODBC for Oracle}
  ☆、参数:Dbq 设置值:实际路径文件名称
  ☆、例句:
  “Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;Uid=admin;Pwd=pass; ”

  ⑷、MS SQL Server DSNless 连接:

  ☆、参数:Driver 设置值:{SQL Server};
  ☆、参数:Server 设置值:服务器名称
  ☆、参数:Database 设置值:数据表名称
  ☆、参数:Uid 设置值:用户名称
  ☆、参数:Pwd 设置值:密码
  ☆、例句:
  “Driver={SQL Server};Server=servername;Database=dbname;Uid=sa;Pwd=pass; ”

  ⑸、MS Text Driver DSNless 连接:

  ☆、参数:Driver 设置值:{Microsoft Text Driver (*.txt; *.csv)}
  ☆、参数:Dbq 设置值:实际路径文件名称
  ☆、例句:
  “Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=c: omepath\;Extensions=asc,csv,tab,txt;Persist Security Info=False; ”

  ⑹、Visual Foxpro DSNless 连接:

  ☆、参数:Driver 设置值:{Microsoft Visual FoxPro Driver}
  ☆、参数:SourceType 设置值:DBC
  ☆、参数:SourceDB 设置值:实际路径文件名称
  ☆、例句:
  “Driver={Microsoft Visual FoxPro Driver};SourceType=DBC;SourceDB=c: omepath\dbname.dbc;Exclusive=No;”

  ⑺、MySQL DSNless 连接:

  ☆、参数:Driver 设置值:{mysql}
  ☆、参数:database 设置值:数据表名称
  ☆、参数:uid 设置值:用户名称
  ☆、参数:pwd 设置值:密码
  ☆、例句:
  “driver={mysql}; database=yourdatabase;uid=username;pwd=password;option=16386”



*******************************************************************

SQL言语简介


  在上一讲中我们引见了连接外部数据库的方法,那么连接之后怎样对外部数据库进行读取、显示、增删、更新、查询等操作呢?这些操作需求通过外部数据库等对象调用SQL指令才能完成。
  ㈠、什么是SQL言语

  SQL(Structure Query Languge,结构化查询言语)是一种数据库公用的计算机言语,不管是Oracle、MS SQL 、Access、MySQL或其他公司的数据库,也不管数据库建立在大型主机或团体计算机上,都可以使用SQL言语来访问和修正数据库的内容。虽然不同公司的数据库软件多多少少会添加一些专属的SQL语法,但大体上,它们还是遵照ASNI(美国国家标准协会)制定的SQL标准。由于SQL言语具有易学习及阅读等特性,所以SQL逐渐被各种数据库厂商采用,而成为一种共通的标准查询言语。只需你学会SQL,即可操作各种数据库如Visual Foxpro、Access、dBase等等。总之,SQL言语是各种数据库都可以使用的数据库查询言语。
  SQL言语不只仅具有查询数据库的功用,而且可以对数据库完成选取、增删、更新与跳转等各种操作。

  ㈡、SQL言语的组成

  SQL言语是由命令(函数)、子句、运算符、加总函数及通配符等组成,分述如下:

  1、命令
  SQL的命令可分成数据定义言语与数据操作言语,数据定义言语可用来建立新的数据库、数据表、字段及索引等,本教程不予引见;另一为数据操作言语,可用来建立查询表、排序、筛选数据、修正、增删等动作。数据定义言语命令常用的有选择、添加、删除和修正这四种:

  ⑴、命令:SELECT
  中文意思:选择
  说明:用于找出合乎条件的记录
  ⑵、命令:INSERT
  中文意思:插入
  说明:用于添加一笔记录或合并两个数据表
  ⑶、命令:UPDATE
  中文意思:更新
  说明:用于更正合乎条件的记录
  ⑷、命令:DELETE
  中文意思:删除
  说明:用于删除合乎条件的记录

  2、子句
  子句是用于设定命令要操作的对象(即参数),SQL所用的子句如下:

  ⑴、子句:FROM
  中文意思:数据表
  说明:用于指定数据表
  ⑵、子句:WHERE
  中文意思:条件
  说明:用于设定条件
  ⑶、GROUP BY
  中文意思:分组(合并)
  说明:用于设定分组
  ⑷、ORDER BY
  中文意思:排序
  说明:用于设定输