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

真的是太不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" >

双击ASP

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

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

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

还有最后一步是这样:

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

设置成具体信息以后,在你的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" >

选择  本地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" >

下一步

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

这里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" >

双击打开odbcad32.exe,

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

点击完毕

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

在弹出的对话框中,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" >

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" >

点击编辑

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

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

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

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

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

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

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

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

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

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

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

。一定要重新启动server!!

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

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

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

时间: 2024-12-12 07:29:31

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

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

真的是太不容易了,以前的时候在window server 2003上面搭建了一套asp+oracle的接口系统,就费了好大的劲儿,其实那会迷迷瞪瞪的也不知道怎么的就弄好了,也懒得管了.OK,从昨天到今天打算把接口从测试环境部署到公网环境上去的时候就出现了各种各样的问题,这次一定得记录一下. 先来说一下这套接口系统的整体方案: 之所用选用asp是因为属于轻量级的接口系统,只需要修改好了以后复制粘贴上去接口就立即生效,而不需要像java系的接口程序要用tomcat打包.上传.部署这样的.那这个系统就

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

本来有个项目是通过安装Oracle client然后让asp.net引用System.Data.OracleClient来访问Oracle数据库的,但是不知道为什么老是报:ORA-12170:连接超时的错误,(客户的服务器配置是:Windows Server 2008 R2 64bit 我刚开始安装的oracle client 是32bit ,最后报什么:require oracle version 8.1以上版本什么什么的...没办法我只好卸载这个版本,然后在Oracle官网上下载了一个Ora

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

Odoo(OpenERP)server支持通过XML-RPC接口訪问.操作数据库,基于此可实现与其它系统的交互与集成. 本文是使用Java通过XMLRPC接口操作Odoo数据库的简单演示样例.本例引用的jar包包含xmlrpc-common-3.1.3.jar, xmlrpc-client-3.1.3.jar和ws-commons-util-1.0.2.jar.如须要,可点击这里下载. package memo.by.weichen; import java.net.URL; import ja

Windows Server2008 搭建DFS文件

Windows Server2008 搭建DFS文件文档:DFS服务器文件同步.note链接:http://note.youdao.com/noteshare?id=ebdb356706d31d4d07429a7a29122589&sub=5F6FFE1D2A104EE7AD6B67E68C948DE3 原文地址:https://blog.51cto.com/9616635/2430457

windows下python连接oracle数据库

python连接oracle数据库的方法,具体如下 1.首先安装cx_Oracle包2.解压instantclient-basic-windows.x64-11.2.0.4.0.zip到c:\oracle3.拷贝instantclient_11_2下所有.dll文件到c:\python34\Lib\site-packages\下(根据自己的python版本拷贝到相应的site-packages文件夹下) python连接示例代码: # -*- coding: utf-8 -*- import c

win7 64位系统 PB连接oracle数据库出现“oracle library oci.dll could not be loaded”问题的解决方法

今天与大家分享一个自己的学习笔记,希望能给遇到同样问题的人带来帮助. 不知道大家在win7 64位系统下用 PB连接oracle数据库时,是否遇到过“oracle library oci.dll could not be loaded”问题. 今天,在win7 64位系统下用 PB连接oracle数据库时,一直出现上述错误,在百度上找了很久,都没有找到一个完整的解决方案,咨询了很多人,(他们都说是我的PB和oracle没装好,但我装的时候没出现任何问题,一切都很顺利,而且PB和oracle都能正

JNDI连接池连接Oracle数据库

今天做了一个评论的小功能,要求用JNDI连接池连接Oracle数据库,以前只是测试了是否连接的上,现在没想到一个JNDI连接池连接Oracle数据库,纠结了好久,原来都是Oracle数据库的问题,这是过失.下面介绍一下JNDI连接池连接Oracle数据库. JNDI介绍 什么是JNDI? JNDI(Java Naming and Directory Interface,Java命名和目录接口) 是一组在Java应用中访问命名和目录服务的API 通过名称将资源与服务进行关联 什么是连接池技术? 连

navicat连接oracle数据库报ORA-28547: connection to server failed, probable Oracle Net admin error错误的解决方法

原文:navicat连接oracle数据库报ORA-28547: connection to server failed, probable Oracle Net admin error错误的解决方法 navicat是通过oracle客户端连接oracle服务器的. oracle的客户端有两种,一种标准的客户端安装程序,下载地址: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

【java项目实战】dom4j解析xml文件,连接Oracle数据库

简介 dom4j是由dom4j.org出品的一个开源XML解析包.这句话太官方,我们还是看一下官方给出的解释.如下图: dom4j是一个易于使用的.开源的,用于解析XML,XPath和XSLT等语言的库.它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP等编程标准. 特点 dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用的特点,同时它也是一个开放源代码的软件.如今你可以看到越来越多的Java软件都在使用dom4j来读写XML,例