以下演示使用ASP如何连接Oracle数据库。
ASP网站是部署在我本机上。
ASP网站操作系统:Windows7 64位,
数据库服务器系统:Windows 2008R2 (或Windows 7也可以) 64位。

1. 安装Oracle客户端组件

ASP网站所在的服务器需要安装Oracle客户端组件才能连接远程服务器的数据库。
Oracle客户端分为64位和32位,我先安装了64位,结果在测试浏览页面时会出现以下信息,提示驱动程序与应用程序位数不匹配。

后来安装了32位客户端,测试正常。所以你们可以先安装32位,如果出现上面提示,就换成64位版本试下。本文就以32位版本环境完成测试过程。
Oracle客户端32位安装版win32_11gR2_client.zip
下载地址:https://pan.baidu/s/1ov7owL7Nm0Ya9m_92uCOjA
提取码:jhx8
安装类型选择“管理员”,一路下一步,安装成功。

2. 测试ODBC驱动连接

因为以上安装的是32位客户端,所以需要使用ODBC驱动管理(32位)中进行配置。
在Win7系统中ODBC驱动管理(32位)必须在以下目录中手动执行。
CMD执行:C:\Windows\SysWOW64\odbcad32.exe
【备注:ODBC驱动管理(64位)位置为:C:\Windows\System32\odbcad32.exe
控制面板–管理工具–》数据源(ODBC)默认运行的是64位】
以下开始添加数据源。
在“系统DSN”页面,点击添加

DataSourceName:新建一个连接名,在ASP页面连接字符串时会使用此连接名。
TNSserviceName:IP/实例名 中间使用斜杆分隔。
User ID:数据库登录名

点击“Test Connection”按钮,输入密码测试成功。

3. ASP页面代码

ASP测试页面


<%
Dim connStr
Dim conn,sql,rs
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "DSN=web32;UID=YCWEB;PWD=YCWEB;"
sql = "select SBBH,HM from TBL_CAOBIAOJILU"
if err then
    err.clear
	set Conn=Nothing
	Response.Write "数据库连接出错,"
	Response.End
else
End If
Response.Write "数据库连接成功,"
Set rs = conn.Execute(sql)
Do Until(rs.eof)
For i=0 to rs.fields.count-1
Response.Write (rs.fields(i))
Response.Write ("<br>")
Next
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing 
%>

4. 部署测试

将此ASP页面部署到IIS,在浏览器地址栏中访问此测试页面地址。测试正常。

5. 后记

现在的网站项目基本再没用ASP技术,但最近因项目需要,需要帮某个小网站连接外部系统获取数据。测试过程中,遇到几个奇怪的问题,花了半天时间排查,最后没办法重启一下居然可以了。所以如果你发现问题一直没突破,请务必重启电脑一下。。
注意:Oracle客户端和ODBC驱动管理器测试,花了不少时间。一定要选好32位或64位,我电脑虽然是64位,但只有安装Oracle的32位客户端才测试成功。

更多推荐

ASP连接Oracle数据库简易DEMO完全案例