热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

iis访问出现各种问题(Vs访问正常)的部分处理方法详细整理

在vs中调试都可以正常,但是在iis访问就会出现各种问题,很是疑惑索性把这些问题整理一下,这样更容易的可以处理方法说明清楚,感兴趣的朋友可以了解下

今天有园友问我一个问题,问题的大致意思就是新建了一个项目,在vs中调试都可以正常,但是在iis访问就会出现各种问题。我个人认为这个问题都很容易解决,因为园友和我离的挺远,只能通过QQ视频来操作,但是我发现这种方式的沟通确实不太方便。索性把这些问题整理一下,这样更容易的可以处理方法说明清楚。

因为我目前的项目没有这个问题存在,所以我只能是新建一个简单的项目,然后在本地操作,尽量让这个问题出现,也因为我从来没有整理过这方面额问题,现在整理一下,然后再把我遇到的一些问题整理一下,说明一下如何解决这类问题。如果你还有一些问题出现,但是我现在没有想到,那么请你给我留言,我来把这些问题再做整理。

首先说第一个问题,数据库访问出现的问题。恐怕这个是最普遍的问题了。因为这个操作实在很简单,具体的细节我就不细说了,大家一眼就会明白。

首先我们新建了一个Web项目,在项目中添加了一个页面叫做test.aspx,其中添加了一个按钮,当点击了这个按钮的时候会连接数据库把数据库中的数据提取出来显示在界面上的gridView上。

代码如下:

protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection cOnn= new SqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=DbLog;Integrated Security=True");
SqlCommand cmd = conn.CreateCommand();
try
{
string sql = "select top 10 * from log";
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
DataTable dt = new DataTable();
sda.Fill(dt);

GridView1.DataSource = dt;
GridView1.DataBind();
}
catch (Exception ex)
{
string errmsg = ex.Message;
Response.Write(ex.Message);
}
}

如果连接数据库出现异常的话,我们把异常信息直接打印出来。现在我们来看结果。

上面的这个图是在vs中通过F5运行之后得到的结果,很明显 显示结果是正确的,现在我们来看一下在iis下的显示结果。什么,你不知道怎么放到IIS中访问,那么好吧,我简略的叙述一下,在IIS中新建一个虚拟目录或者网站,然后把项目的路径填到里面就可以了。

在IIS中访问出现了问题,显示的不是数据库中的数据,而是在异常信息中显示的异常信息。这是什么原因呢?看异常信息提示,打开数据库失败,这是为什么呢?从这个原因我们可以考虑几个方面。

     数据库的配置问题,因为本篇博客如果要说明数据库的配置,那就会很长了,所以简略的说明一下,就是在数据库中要把其中的几个地方设置为启用一般都可以解决。

                

 2.如果不是数据库的配置问题,可能使我们打开数据库的数据库密码不正确。这个也要检查一下,打开数据库的服务器是否正确,数据库名是否正确,因为我们这个试验是通过Windows 验证访问的,所以不存在密码错误的问题。

3.就是权限问题。这个应该是最主要的问题存在,会令一些人疯狂的地方了。其实就是我们做项目的时候控制用户访问的道理是一样的,数据库禁止该用户访问。

既然说道权限问题,那么我们就要说一下,IIS运行在哪个用户下呢?我们以管理员登陆操作系统的奥,还是会出现错误。其实IIS运行在一个叫做iis_user的用户下,可能不同的IIS版本下这个名称会有所不同,Network_services 在IIS中有时也需要,但是在IIS7 就是这个用户,因为我安装的就是IIS7.如果我们用的是Server 2003 系统,那么在IIS上可以直接设置权限。因为我在公司用的就是server 2003,所以比较清楚。

 

首先上来就报错了。由于权限不足,那好,我们就给他增加权限。选择项目文件夹,添加iis_users用户,然后给他特定的权限就可以正常了。

可能有的园友要骂我了,怎么没有看到那个数据库无法登录的错误,我只能说一句抱歉了,因为我确实没有模拟出来那个错误。因为我用的是Windows 7系统,其实在出现配置错误的时候我预想的应该是出现哪个数据库连接登录错误。等我模拟到那个登录错误的时候再拿出来。但是按照设置权限应该可以解决所有的权限错误问题。

总结一下,iis登录错误的问题很基本,只要我们善用搜索引擎,一般这类问题很容易解决。这篇播客是常识贴,知道的话很容易,但是如果找不到原因,也挺烦人的,故提出来大家一起分享。


推荐阅读
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
author-avatar
男孩介于边缘
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有