关于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:\somepath\dbname.mdb;Uid=Admin;Pwd=pass; "
⑵、dBase ODBC DSNless 连接:
☆、参数:Driver 设置值:{Microsoft dBASE Driver (*.dbf)}
☆、参数:Dbq 设置值:实际路径文件名称
☆、例句:
"Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=c:\somepath\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:\somepath\;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:\somepath\dbname.dbc;Exclusive=No;"
⑺、MySQL DSNless 连接:
☆、参数:Driver 设置值:{mysql}
☆、参数:database 设置值:数据表名称
☆、参数:uid 设置值:用户名称
☆、参数:pwd 设置值:密码
☆、例句:
"driver={mysql}; database=yourdatabase;uid=username;pwd=password;option=16386"