ASP.NET将网站放在网上

时间:2013-05-20 13:05:41

标签: asp.net

我是ASP.NET新手,当我尝试在线制作网站时遇到问题。 当我在Visual Studio 2012中运行网站时,我的网站运行得非常好。

我已将网站放在网上,以便您查看:http://keowns.bebbosoft.co.za/

在左下角,您会看到用户名,文本框和添加按钮。

当您键入一些文本时,该添加按钮中的文本会在Access数据库中添加新记录。

正如我所说,这在我调试时有效,但是当我将网站放在网上时,你会在内容中看到这个错误:

"Operation must use an updateable query."

正确设置了Web服务器中的文件夹(对于权限):

enter image description here

我做错了什么?

4 个答案:

答案 0 :(得分:2)

检查包含访问数据库的文件夹的权限,访问数据库及其所在的文件夹应该是可写的我相信。

有关详细信息,请参阅以下链接 http://www.mikesdotnetting.com/Article/74/Solving-the-Operation-Must-Use-An-Updateable-Query-error

答案 1 :(得分:2)

一个很可能的原因是运行程序的用户没有对数据库文件的读写权限,特别是如果它位于程序文件文件夹中。

因此,请检查目录和文件权限,并在需要时进行修改。

有时,Restarting the server会解决权限问题,必须尝试。

选中此link

答案 2 :(得分:1)

你看过http://www.mikesdotnetting.com/Article/74/Solving-the-Operation-Must-Use-An-Updateable-Query-error吗?

“令人难以置信的神秘操作必须使用可更新查询错误是开始使用Access和ASP.NET的开发人员的祸根。您已经完成了代码,将数据库文件放在App_Data文件夹中(或者至少,你应该已经完成​​了),并尝试运行一个INSERTs或UPDATEs记录的页面,它们都停止了。这篇简短的文章解释了错误的原因,以及阻止它再次发生所需的步骤。

当Jet 4.0数据库(由“Access”mdb文件表示的实际数据库类型)部署在多用户环境中时,只要打开数据库,就会创建.ldb文件。 .ldb文件包含的详细信息包括谁已打开文件,主要用于防止其他用户写入打开的记录。 在ASP.NET应用程序的上下文中,“用户”将取决于平台:对于XP Pro计算机,用户是ASPNET帐户。在Windows Server 2003,2008和Vista上,它是NETWORK SERVICE帐户。但是,如果启用了ASP.NET模拟,则默认用户帐户将为IUSR_machinename,或者您应用的任何帐户。如果您不确定运行ASP.NET应用程序的帐户,Environment.UserName将返回它。为了能够创建,写入和删除所需的.ldb文件,相关用户需要对.mdb文件所在的文件夹具有MODIFY权限。 要设置此权限,请右键单击App_Data文件夹(或将mdb文件放入其中的任何其他文件夹),然后选择“属性”。查找“安全”选项卡。如果看不到,则需要转到“我的电脑”,然后单击“工具”并选择“文件夹选项...”,然后单击“视图”选项卡。滚动到底部并取消选中“使用简单文件共享(推荐)”。返回“安全”选项卡,您需要将相关帐户添加到“组或用户名”框中。单击添加....然后单击高级,然后单击立即查找。应列出相应的帐户。双击它以将其添加到“组或用户名”框,然后选中权限中的“修改”选项。而已。你完成了。“

答案 3 :(得分:0)

谢谢你们给我一些见解......但是在看到你给我的链接后,我做了那些事情,但它仍然没有用。我的修复是这样的:将web.config文件更改为如下所示:

<configuration>
<system.web>
    <identity impersonate="true"/>
</system.web>
<system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
<system.webServer>
</configuration>

谢谢你的帮助!