ASP连接ODBC
ASP在不同windows平台下连接ODBC DSN数据库的方法
一,测试用的ASP代码
<% Dim szSQL on error resume next Set oConn = Server.CreateObject("ADODB.Connection") oConn.Open "DSN=myodbc_dbX","","" if err<>0 then Response.Write "<P>Check that this is a System DSN and the name is spelled correctly.</P>" Response.write "<P>The error code was: " & err.number & " " & err.description else szSQL = "SELECT * From tableName" Set oRS = Server.CreateObject("ADODB.Recordset") oRS.Open szSQL, oConn, 3, 3 Response.Write "You have <B>" & oRS.RecordCount & "</B> records in your table" End if oRS.close oConn.close %>
二. windows2003 32位 平台
此过程比较简单, 先手动添加ODBC数据源, 比如新建一个ODBC,名为myodbc_dbX数据源,指向一个新建的ACCESS文件.IIS配置好asp环境, 直接运行测试代码即可.
三. windows2003 64位平台
64位平台主要是添加ODBC数据源的问题, 在控制面板里进去的"数据源(ODBC)"是没有ACCESS等驱动的,因为它默认的是64wei的程序. 要通过32位程序添加数据源, 执行C:\Windows\SysWOW64\odbcad32.exe, 熟悉的面孔就出现了. 按照第二步的过程完成测试.
四. windows server 2008 64位
这个过程有点麻烦, 按照第二,第三步配置完后, 还是不能连接ODBC数据, 提示大概如下
An error occured trying to connect to this DataSource.
Check that this is a System DSN and the name is spelled correctly.
The error code was: -2147467259 [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
未发现数据源未指定默认驱动? 已经添加了啊!!!!
注意到,添加数据源的时候是 "odbcad32.exe" , IIS会不会也要设置32位的?
察看IIS的应用程序池,果然如北
尝试打开, 改为“true”,“确定”, 重启IIS, 果然OK。