真的是太不easy了,曾经的时候在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也没啥事,可是保险起见还是都勾上吧,也不多啥的

安装完毕之后,就能够在管理工具中找到iis管理器了。

这里我在实际中由于当时IIS已经被启动了,可是预计是没有正确得被启动,我找了好久都没有找到IIS管理器,后来一怒之下又一次把IIS服务关掉然后又一次启动,勾上ASP,就ok了。非常多时候。假设你认为自己的操作有问题。或者别人已经给你弄好了可是不知道为什么有问题,就删除了又一次来弄吧。

然后我们在站点上面右键。选择加入站点

弹出来以下的界面:

这里面站点的名称随便写就好了。物理路径选择你自己建立的一个目录。类型和IP地址都不要变。保持HTTP所有未分配,port能够随便填一个。由于我们这个server上已经有站点用了80port,所以我在实际中用了8080;主机名能够不写的,然后点击确定

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

这里我们的站点事实上已经建立好了。能够在你自己的站点的文件夹以下写一个简单的測试页面,这是我刚弄好的站点文件夹。一个简单的index.html页面

.

在本机的浏览器里面输入 127.0.0.1:8080就能够看到页面上显示了123456。说明我们的页面已经搭建好了。假设你的server能够公网訪问。直接输入你的公网IP地址加上port号,也能够看到刚建立好的页面。

到这里事实上站点已经搭建起来了。可是还有两步额外的操作在这里一并做了吧。

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

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

双击ASP

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

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

还有最后一步是这样:

设置成具体信息以后,在你的client(包含不在server上查看。或者通过手机代码里面返回的结果)都能够正常显示出来错误信息了,调试程序必备!

2. 安装和配置数据库

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

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

选择  本地Net服务名配置

选择加入

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

选择默认的TCP就ok

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

这里也能够选择直接測试,只是应该是会失败的。由于使用的username和password不正确,

点击以下的更改登录。换成你的username和password,再又一次測试,应该就能连接成功

下一步

这里Net CA就配置好了。

3. 配置ODBC

这里假设你直接用系统中自带的ODBC。会出现这种情况:

你会发如今系统DSN加入中仅仅有一个SQL Server。这就是我们之前一个地方提到的,32位和64位的原因了。只是网上有解决的方法:

找到C:/Windows/SysWOW64

双击打开odbcad32.exe,

在选择系统DSN。选择加入,就能够找到oracle10g这个我们须要用到的驱动了

点击完毕

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

4. 调试你的ASP网页

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

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

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

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

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

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

依然是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这个文件夹。选择属性。然后切换到安全 选项卡

点击编辑

然后在弹出的窗体中点击加入

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

弹出这个页面。然后点击  马上查找

这里面就列出了当前server上的全部用户,我们找到两个用户,一个是图中已经高亮选中的IIS_IUSRS。还有一个是图里面鼠标悬停的地方 IUSR

点击确定之后。会给选择的用户加入对应的权限,我当时在做的时候,有一些文件没有訪问的权限。就直接忽略了就ok。

整个过程完毕了之后就回到了安全的选项页面。这个时候 点击  高级

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

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

最后一个关键步骤,重现server!

。一定要重新启动server!!

假设不出什么问题的话,就ok了。

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

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

转载于:https://www.cnblogs.com/wzzkaifa/p/7239826.html

Windows server2008 搭建ASP接口訪问连接oracle数据库全过程记录相关推荐

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

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

  2. 请教asp如何通过ODBC连接ORACLE数据库?

     请教asp如何通过ODBC连接ORACLE数据库?[复制链接] 1 1 sky_n 白手起家 帖子 14 主题 10 精华 0 可用积分 19 信誉积分 100 专家积分 0 在线时间 2 小时 ...

  3. 连接oracle数据库 ip,oracle 设置ip连接数据库

    使用E-MapReduce集群sqoop组件同步云外Oracle数据库数据到集群hive E-MapReduce集群sqoop组件可以同步数据库的数据到集群里,不同的数据库源网络配置有一些差异网络配置 ...

  4. vs窗体 oracle,VS2010连接oracle数据库的简单例子

    下面附有代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Da ...

  5. asp.netcore oracle,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 ...

  6. asp连接oracle 服务端,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 ...

  7. asp.net应用程序无法连接oracle数据库,2020:ASP连接Oracle数据库问题的解决过程

    尽管2020了,但是需求无处不在,ASP连接Oracle数据库问题的解决过程: 注意,本文为梦回大唐版本,盗图严重,纰漏难免,欢迎举报. 一.环境 数据库端:Windows Server 2008 R ...

  8. 用ASP.Net(C#)连接Oracle数据库的方法

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

  9. asp.net三层架构连接Oracle 11g详解

    asp.net三层架构连接Oracle 11g 连接Oracle时使用微软的Oracle连接组件: 一 DAL层 using System; using System.Collections.Gene ...

最新文章

  1. devi into python 笔记(一)字典 列表的简单操作
  2. java 崩溃日志_Android收集程序崩溃日志的方法
  3. 什么是注入式攻击(2)
  4. 安卓平板运行python_使用Python进行手机平板移动开发 | 学步园
  5. 《Ray Tracing in One Weekend》——Chapter 7: Diffuse materials
  6. Linux下查看端口状态的小工具lsof
  7. 在大厂厮杀多年,总结出来的技术面试流程注意事项加分点,懂了这些你就成功一半了
  8. 十一、观察者模式(Observable、Observer)
  9. VS2015 C#6.0 中的那些新特性(转)
  10. Java+Maven实现Mail自动发送邮件功能
  11. 零基础学摄影nbsp;跟老邮差一步一…
  12. Raspberry pi设置Samba
  13. 对乔布斯创新能力看法
  14. python计算相对分子质量_【ROSALIND】【练Python,学生信】20 计算多肽链的质量
  15. 公共数据交换解决方案
  16. STC89C52RC单片机额外篇 | 04 - 认识头文件<intrins.h>与_nop_函数
  17. ubuntu 桌面任务栏不见解决方案
  18. 新手司机上路 请多关照
  19. 基于SSM实现高校后勤报修系统
  20. moment常用时间操作

热门文章

  1. 在keil uVision 2/uVision 3下使用伟福系列仿真器的方法:
  2. python 时间_Python-基础-时间日期处理小结
  3. 行为识别(HAR)调研
  4. 面试题 08.02. 迷路的机器人
  5. pytorch中的torch.rand(),torch.randn(),torch.randerm()的关系
  6. 自然语言处理 —— 2.4 嵌入矩阵
  7. 吴恩达深度学习—— 3.4 多个例子中的向量化
  8. 吴恩达深度学习 —— 2.6 更多导数的例子
  9. 网络爬虫中的Unicode码解决[实例]
  10. 卡尔曼滤波simulink例子,位移和速度2变量估计