真的是太不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出现什么错误提示我们是看不到的

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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

双击ASP

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

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

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

还有最后一步是这样:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

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

2. 安装和配置数据库

我这里安装的是oracle10g的client,基本上都是默认的安装下来,好像仅仅有

安装类型,选择管理员和Oracle Net Configuration Assistant:勾选“运行典型配置”安装完毕数据库后

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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

选择  本地Net服务名配置

选择加入

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

选择默认的TCP就ok

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

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

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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

下一步

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

这里Net CA就配置好了。

3. 配置ODBC

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

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

找到C:/Windows/SysWOW64

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

双击打开odbcad32.exe,

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

点击完毕

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

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

4. 调试你的ASP网页

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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

点击编辑

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

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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

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

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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

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

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

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

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

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

。一定要重新启动server!!

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

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

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

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

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

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

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

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

  3. 64 位win 7或windows 8下的visual studio不能连接Oracle数据库调试网站的问题

    在64 位win 7或windows 8系统下,visual studio直接F5运行网站调试,你会发现不能连接Oracle数据库,会报一个“ORA-06413: Connection not ope ...

  4. Odoo(OpenERP)开发实践:通过XML-RPC接口訪问Odoo数据库

    Odoo(OpenERP)server支持通过XML-RPC接口訪问.操作数据库,基于此可实现与其它系统的交互与集成. 本文是使用Java通过XMLRPC接口操作Odoo数据库的简单演示样例.本例引用 ...

  5. 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.NET连接Oracle数据库的步骤详解(转)

    ASP.NET连接Oracle数据库的步骤详解   本文我们主要介绍了ASP.NET连接Oracle数据库的步骤及每个步骤需要进行的设置,希望能够对您有所帮助.   在用ASP.NET开发应用程序时, ...

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

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

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

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

  9. Asp.Net 应用程序在IIS发布后无法连接oracle数据库问题的解决方法

    asp.net程序编写完成后,发布到IIS,经常出现的一个问题是连接不上Oracle数据库,具体表现为Oracle的本地NET服务配置成功:用 pl/sql 等工具也可以连接上数据库,但是通过浏览器中 ...

随机推荐

  1. 小程序 wx:for 循环嵌套

    json数据: [//library-6F    [//library-6F-601      [//id:1-1 ,8(Y/N),9(Y/N)……21(Y/N)        'Y','Y','Y' ...

  2. MailKit---发送邮件

    一封最复杂的电子邮件的基本情况为:含有邮件正文和邮件附件,邮件正文可以同时使用HTML格式和普通文本格式表示,并且HTML格式的正文中又引用了其他的内嵌资源.对于这种最复杂的电子邮件,可以采用如图所示 ...

  3. SilverLight-3:SilverLight 备注

    ylbtech_silverlight 一.DebugSilverlight应用程序的方法: 第一种: 1.Silverlight引用命名空间:System.Diagnostics; 2.在程序必要的 ...

  4. 【MySQL】谈谈PhxSQL的设计和实现哲学

    参考资料: http://mp.weixin.qq.com/s?__biz=MzI4NDMyNTU2Mw==&mid=2247483790&idx=1&sn=c925202df ...

  5. ubuntu 查看系统服务的列表

    service --status-all

  6. SSO单点登录系列3:cas-server端配置认证方式实践(数据源+自定义java类认证)

    落雨 cas 单点登录 本篇将讲解cas-server端的认证方式 1.最简单的认证,用户名和密码一致就登录成功 2.配置Oracle的jdbc数据源,通过spring动态查询数据库 3.配置orac ...

  7. Powershell 远程管理

    一直使用 mstsc,为了防止墨菲定律,准备一些备用方案 环境,win10 to win12 winrm是windows 一种方便远程管理的服务: 首先要开启winrm service,便于在日常工作 ...

  8. IOS开发通过代码方式使用AutoLayout (NSLayoutConstraint + Masonry) 转载

    http://blog.csdn.net/he_jiabin/article/details/48677911 随着iPhone6/6+设备的上市,如何让手头上的APP适配多种机型多种屏幕尺寸变得尤为 ...

  9. web.py

    #-*- coding:utf-8 -*- import web import json import requests #from web.contrib.template import rende ...

  10. go语言25个关键字总结

    var和const :变量和常量的声明var varName type 或者 varName : = valuepackage and import: 导入func: 用于定义函数和方法return ...