Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

时间:2021-11-04 11:58:54

真的是太不容易了,以前的时候在window server 2003上面搭建了一套asp+oracle的接口系统,就费了好大的劲儿,其实那会迷迷瞪瞪的也不知道怎么的就弄好了,也懒得管了。OK,从昨天到今天打算把接口从测试环境部署到公网环境上去的时候就出现了各种各样的问题,这次一定得记录一下。

先来说一下这套接口系统的整体方案:

之所用选用asp是因为属于轻量级的接口系统,只需要修改好了以后复制粘贴上去接口就立即生效,而不需要像java系的接口程序要用tomcat打包、上传、部署这样的。那这个系统就是现在window server上启用IIS,然后建立web网页服务,然后通过ODBC连接上数据库,在web页面中访问和连接oracle数据库。

下面就开始一步一步介绍如何实现这个过程。

1. IIS服务的启动。

参考链接:http://www.ip-tcp.com/?tag=windows-server-2008-iis-%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%AE%89%E8%A3%85%E4%B8%8E%E9%85%8D%E7%BD%AE

因为我们是部署ASP,所以记得把这两个相关的勾上,感觉不勾选asp.net也没啥事,但是保险起见还是都勾上吧,也不多啥的

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

安装完成之后,就可以在管理工具中找到iis管理器了。

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

这里我在实际中因为当时IIS已经被启动了,但是估计是没有正确得被启动,我找了好久都没有找到IIS管理器,后来一怒之下重新把IIS服务关掉然后重新启动,勾上ASP,就ok了。很多时候,如果你觉得自己的操作有问题,或者别人已经给你弄好了但是不知道为什么有问题,就删除了重新来弄吧。

然后我们在网站上面右键,选择添加网站

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

弹出来下面的界面:

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

这里面网站的名称随便写就好了;物理路径选择你自己建立的一个文件夹;类型和IP地址都不要变,保持HTTP全部未分配,端口可以随便填一个,因为我们这个服务器上已经有网站用了80端口,所以我在实际中用了8080;主机名可以不写的,然后点击确定

这里要注意一下,IIS默认的那个网页会占用掉80端口,刚同事来找我说他们的网页打开成iis7的页面了,我一看果然是把端口给占用掉了。

这里我们的网站其实已经建立好了,可以在你自己的网站的目录下面写一个简单的测试页面,这是我刚弄好的网站目录,一个简单的index.html页面

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

.

在本机的浏览器里面输入 127.0.0.1:8080就可以看到页面上显示了123456,说明我们的页面已经搭建好了。如果你的服务器可以公网访问,直接输入你的公网IP地址加上端口号,也可以看到刚建立好的页面。

到这里其实网站已经搭建起来了,但是还有两步额外的操作在这里一并做了吧。

首先就是能显示页面的错误代码,如果不打开的话,asp出现什么错误提示我们是看不到的

打开我们上一步建立好的网站

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

双击ASP

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

点开调试属性,然后这里面 “将错误发送到浏览器”选项默认的是false,我们将其改成True

接下来的步骤是更改应用程序池启用32位应用程序,为什么要这样做我们在后面再告诉大家。

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

还有最后一步是这样:

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

设置成详细信息以后,在你的客户端(包括不在服务器上查看,或者通过手机代码里面返回的结果)都可以正常显示出来错误信息了,调试程序必备!

2. 安装和配置数据库

我这里安装的是oracle10g的客户端,基本上都是默认的安装下来,好像只有
安装类型,选择管理员和Oracle Net Configuration Assistant:勾选“执行典型配置”安装完成数据库后

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

在开始菜单中 选择打开  Net Configuration Assistant

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

选择  本地Net服务名配置

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

选择添加

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

这里的服务名自己填就好了

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

选择默认的TCP就ok

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

这里需要注意一点:向你们的数据库管理员要一下数据库的内网IP地址以及端口号;我不太确定这里填写外网地址是否可以,因为我们的系统做了比较复杂的安全认证,我这里写外网地址是不ok的;然后端口号也要问清楚。

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

这里也可以选择直接测试,不过应该是会失败的,因为使用的用户名和密码不对,

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

点击下面的更改登录,换成你的用户名和密码,再重新测试,应该就能连接成功

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

下一步

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

这里Net CA就配置好了。

3. 配置ODBC

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

这里如果你直接用系统中自带的ODBC,会出现这样的情况:

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

你会发现在系统DSN添加中只有一个SQL Server,这就是我们之前一个地方提到的,32位和64位的原因了,不过网上有解决办法:

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

找到C:/Windows/SysWOW64

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

双击打开odbcad32.exe,

在选择系统DSN,选择添加,就可以找到oracle10g这个我们需要用到的驱动了

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

点击完成

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

在弹出的对话框中,Data Source Name我们在第2步中创建的名称,然后TNS service Name从下拉框中选择上一步建立好的那个,图中是我创建的名称。点击ok,这一步就算完成了。

4. 调试你的ASP网页

一个典型的测试你的ASP能不能成功连到数据库的页面如下:

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

server填写成前两个步骤里面我们起的那个名字,然后uid是你的oracle的用户名,pwd是密码

还记得我们第1步里面有改过web的程序池支持32位么?如果没有那个步骤,你的页面应该会先有1行 1,111111,就是我们输出的内容,然后会提示一个80004005的错误

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

错误的原因是 : 未发现数据源名称并且未指定默认驱动程序

采用这个网页中的方法http://blog.snsgou.com/post-619.html,也就是我们在前面处理过的,把程序池改成启用32位的程序 就ok了。

如果你以为到这里就ok了,那你就又错了,改完了之后,你的asp页面会弹出另外一个错误:

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

依旧是80004005错误,但是错误的原因是SQLAllocHandle on SQL_HANDLE_ENV失败,继续google如何解决,找到了这个页面:

http://bbs.bccn.net/thread-192876-1-1.html

我也想起来了之前在windows server 2003上面也出现过同样的问题,当时也是搞了好多然后重启下就ok了,就抱着试一试的方法,同样的步骤操作了一遍,然后重启,一定要重启,就ok了

因为win server 2003和2008在这个步骤上面的设置稍微有一些不一样,这里我就详细介绍一下2008的步骤吧,03的话就按照上面那个链接里面的内容来做就好了

首先找到你oracle10g安装的根目录位置,然后右键oracle10g这个文件夹,选择属性,然后切换到安全 选项卡

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

点击编辑

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

然后在弹出的窗口中点击添加

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

然后在 选择用户或组  这里我们要添加两个用户权限进去,这里不用我们输入,直接点击高级 进行查找

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

弹出这个页面,然后点击  立即查找

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

这里面就列出了当前服务器上的所有用户,我们找到两个用户,一个是图中已经高亮选中的IIS_IUSRS,另一个是图里面鼠标悬停的地方 IUSR

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

点击确定之后,会给选择的用户添加相应的权限,我当时在做的时候,有一些文件没有访问的权限,就直接忽略了就ok。 整个过程完成了之后就回到了安全的选项页面,这个时候 点击  高级

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

在弹出的高级安全设置中 权限的选项卡里面 点击 更改权限

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

选中刚才我们添加的两个用户,IIS_IUSRS 和IUSR,然后把下面的 包括可从该对象的父项继承的权限  勾中,然后点击确定,这个时候又会进行一下相关文件和文件夹的权限授予的操作,同样还是有几个文件夹没有访问权限,同样的忽略掉就ok了

最后一个关键步骤,重现服务器!!一定要重启服务器!! 如果不出什么问题的话,就ok了。

我是用这种方法搞定的,在网上还搜到了这样的解决方法,没有实践,不知道可不可行,因为我的程序搞定了,就懒得再折腾了,有兴趣的同学们可以试验一下:

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

到这里,我们的整个ASP页面链接数据库全部都成功了!!

Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用的更多相关文章

  1. Windows server2008 搭建ASP接口訪问连接oracle数据库全过程记录

    真的是太不easy了,曾经的时候在window server 2003上面搭建了一套asp+oracle的接口系统.就费了好大的劲儿,事实上那会迷迷瞪瞪的也不知道怎么的就弄好了,也懒得管了.OK,从昨 ...

  2. Asp.Net 远程连接Oracle数据库

    Asp.Net 远程连接Oracle数据库 首先从微软停止.Net FrameWork支持Oracle数据库的研发,转为第三方提供说起,微软是很有实力的公司,他在桌面领域令其他对手望其项背,产品战线也 ...

  3. 用ASP.Net(C#)连接Oracle数据库的方法及实例

    今天看了一下asp.net连接oracle数据库的方法,得到了如下代码.这段代码打开了MyTable表,并把操作员的名字列出.字段类型是OracleString.读取的时候用的是字段编号,我不知道怎么 ...

  4. (ASP.NET)C#连接Oracle数据库示例(中文乱码问题解决)

    接手了一个遗留的ASP.NET系统,数据库用的是Oracle,以前没搞过.NET和Oracle数据库,数据库搞了半天才解决乱码问题,在此做个笔记备忘. 1.下载安装ODAC 1)请去Oracle官网下 ...

  5. ASP.NET C# 连接 Oracle数据库增删改查,事务

    一.知识介绍 ①ASP.NET 使用的是MVC模式,开发工具Visual studio ,语言C# ②Oracle是比较重型的数据库,这里主要介绍连接数据库,对数据进行具体的使用 ③Visual St ...

  6. C# 连接Oracle数据库,免安装oracle客户端

    一.方案1 首先下面的内容,有待我的进一步测试和证实.18.12.20 被证实了,还需要安装Oracle客户端,或者本机上安装oracle数据库软件. 18.12.20 1.下载Oracle.Mana ...

  7. .net远程连接oracle数据库不用安装oracle客户端

    asp.net远程连接oracle数据库不用安装oracle客户端的方法下面是asp.net连接远程Oracle数据库服务器步骤: 1.asp.net连接oracle服务器需要添加Sytem.Data ...

  8. Asp.Net通过ODBC连接Oracle数据库

    本来有个项目是通过安装Oracle client然后让asp.net引用System.Data.OracleClient来访问Oracle数据库的,但是不知道为什么老是报:ORA-12170:连接超时 ...

  9. Asp.net core 3.1+EF Core2.2.6+Oracle.EntityFrameworkCore2.1.19连接Oracle数据库

    Asp.net Core 3.1+EF Core2.2.6+Oracle.EntityFrameworkCore2.1.19连接Oracle数据库 1.前言 本次主要采用Asp.net core3.1 ...

随机推荐

  1. WinForm------关于子窗体刷新父窗体问题

    链接: http://wenwen.sogou.com/z/q242758397.htm

  2. [C#] 與Android共舞–手機post資料給Server (转帖)

    最近在搞安卓,跟Server溝通是一定要的,這範例很簡單,就是我在Android 上面,透過POST 的方式傳資料給 Server ,則Server 收到值後直接回傳, Server side 是用a ...

  3. C#全角转换成半角并检查

    新建一个项目quanbanjiao,在此项目下新建一个类Class1 using System; using System.Web; using System.Text; namespace quan ...

  4. ACdream OJ 1099 瑶瑶的第K大 --分治+IO优化

    这题其实就是一个求数组中第K大数的问题,用快速排序的思想可以解决.结果一路超时..原来要加输入输出优化,具体优化见代码. 顺便把求数组中第K大数和求数组中第K小数的求法给出来. 代码: /* * th ...

  5. dede忽略错误

    一.修改php.ini中下面代码 ;extension=php_mbstring.dll 改为 extension=php_mbstring.dll ;mbstring.func_overload = ...

  6. Creational模式之Builder模式

    1.意图 将一个复杂对象的构建与它表示分离,使得相同的构建过程能够创建不同的表示. 查看很多其它请点击 2.别名 无 3.动机 一个RTF(Rich Text Format)文档交换格式的阅读器应能将 ...

  7. MyBatis 遍历数组放入in中

    必须要遍历出数组的值放入in中 如果直接将"'2','3','4','5','6','7','8'" 字符串放入in中,只会查出 inv_operate_type的值为2的数据,因 ...

  8. .net 未被引用的错误

    开发的时候遇到了一个错误,如下: 错误 1 类型“System.ServiceModel.ClientBase`1<T0>”在未被引用的程序集中定义. 我原本以为是版本号的问题,添加了引用 ...

  9. 压缩跟踪(CT)代码具体学习&lowbar;模块1(样本的採集和扩充)

    本章主要具体解释的是compressive tracking框架中的第一部分:样本的採集和扩充部分. 在開始代码学习的前面,你须要知道的理论知识參见论文:Real-time Compressive T ...

  10. js邮箱验证,身份证验证,正则表达式

    邮箱验证: html部分: 邮箱验证:<input type="text" id="mail" value="" / onkeyup= ...