日期:2012-05-21  浏览次数:21066 次

采用ODBC接口访问MySQL指南

当前作者: 王猛 ( HeartIcy@163.com )
创建日期: 2003年1月15日
修订版本: 1.1

MySQL的好与坏我想来想去自己始终认为这不是一个程序员或者系统设计师所应该深究的。
假如有权利选择,程序员或者系统设计师应该做的是为项目选择最经济也最合适的解决方
案。MySQL只是众多解决方案中的一种,真的不应该深究。

MySQL的ODBC接口实现是通过安装MyODBC驱动,这个驱动程序是跨平台的。如果在Linux等
unix体系操作系统下使用,需要先安装iodbc这些第三方ODBC标准支援平台。

简单的ASP示例代码:

<%
dim sql,mysql
set sql = server.createobject("adodb.connection")
mysql="driver={mysql odbc 3.51 driver};database=库;server=主机;uid=用户;password
=密码;" 'option = 设置
sql.open mysql
%>

上边这段代码是采用MyODBC开发版3.51连接的示例,使用开发版是因为一些新的特性和稳定性
2.x正式版所不具备的。前几天看了篇微软安全专家所撰写的如何编写安全程序的教程。上边提
到如果按照上边示例的方法一旦ASP文件的代码被骇客看到,那么数据库可能不保,然后引发一
连串的问题,甚至被夺得管理权限。文章中顺便提到了解决方法,是通过编写com组件,然后由
ASP调用组件的方法连接数据库。这么做的好处是提高了安全性,但是问题是有能力这么做的人
毕竟是少数。那么我的折衷方案是定义数据源。将库、用户、密码以及设置这些连接信息统统在
数据源中定义,从很大程度简单化了实现的难度,而且也起到增强安全性的作用。当然,为了保
证数据源可以在实际运作环境中被访问到,一定要定义为“系统数据源”,开发时定义为“用户
数据源”或者“系统数据源”我倒觉得无伤大雅。

使用数据源的ASP示例代码

<%
dim sql
set sql = server.createobject("adodb.connection")
sql.open "dns=MySQL数据源名称"
%>

本来我想谈谈配置参数的一些具体细节,不过我看到MyODBC的参考手册简短而且明确,所以就不
再班门弄斧。如果关于本文你有什么问题可以通过电子邮件和我联系 - HeartIcy@163.com 。希
望能结识到更多的朋友。

抛砖引玉一下,希望这篇指南对你有用。

**本文档遵循美国自由软件基金会通用文档许可协议发布**