【问题标题】:A couple of errors I am getting, both related to SQL Server, when trying to run an app on my local machine.. please help..! [closed]尝试在我的本地计算机上运行应用程序时,我遇到了几个与 SQL Server 相关的错误..请帮助..! [关闭]
【发布时间】:2010-06-30 20:35:25
【问题描述】:

我的情况如下:

  • 有人要求我编写一个应用程序来管理我们拥有客户的位置 - 当我们尝试添加一个离另一个客户太近的客户时,这必须标记出来,因此必须能够根据邮政编码计算距离。
  • 我选择使用 ASP.Net VB 是因为我非常擅长这一点,而且我喜欢浏览器为我完成所有布局(使用 Java 或 C# 意味着必须单独定位每个元素)。
  • 我从公司网站(我也写过)复制了一些文件,并对其进行了修改,以适应新应用程序所需的数据库结构。
  • 我设计了数据库来满足新应用的要求。
  • 我已经在 IIS 的 81 端口上建立了一个网站,通过它可以查看应用程序。

完成所有这些后,我收到了各种错误,例如“无法加载类型 XXXX”(这至少意味着正在检测页面,因为类型是在 aspx 页面的顶部指定的,但没有更多提供了有关错误是由什么引起的信息)。

下一个错误是“尝试为文件 App_Data/XYZ.mdf 附加自动命名的数据库失败。存在同名的数据库,或者无法打开指定的文件,或者它位于 UNC分享。”。此错误仅在从 Visual Web Developer 运行时出现在网站上。它不会发生在我在 IIS 的 81 端口上设置的站点上。

通过使用端口 81 解决了上述错误后,我现在遇到了另一个错误 - “在数据库 'master' 中创建数据库权限被拒绝。尝试为文件附加自动命名的数据库失败。数据库存在同名文件,或指定文件无法打开,或位于 UNC 共享上。”。这让我完全被难住了,因为我什至没有尝试创建这个数据库。它在尝试执行删除过程(当前什么都不做)时发生。执行选择过程 (SELECT * FROM Contacts) 时不会发生此错误。我还没有尝试更新或插入。

总而言之,我遇到了两个问题 - 一个尝试从 VWD 运行时(“尝试为文件 App_Data/XYZ.mdf 附加自动命名数据库失败。具有相同名称的数据库存在,或者无法打开指定的文件,或者它位于 UNC 共享上。”)和一个尝试从我在 IIS 中设置的端口 81 的站点运行时(“CREATE DATABASE 权限被拒绝数据库 'master'。尝试为文件附加自动命名的数据库失败。存在同名的数据库,或者无法打开指定的文件,或者它位于 UNC 共享上。”)。我不知道如何克服这些,以前从未遇到过这些。

我还需要能够删除数据,所以如果有人能提示我正确的方向来解决此错误,我将不胜感激。非常感谢。

问候,

理查德


更新:

好的,这就是我现在的位置..

我已经安装了 SQL Server 2008 - 花了我一段时间,因为它就像 300mb(包括服务包),我首先安装了 2005,然后发现数据库是 2008.. :()。任何人,它都已安装并且我已成功附加数据库。但是我仍然遇到用户帐户问题。我已将应用程序移到 C: 中,所以它现在位于 C:/CustomerApp 中。这意味着我在尝试访问“我的文档”中的文件时不会遇到权限问题 - 以后可能需要处理的问题更少。

我现在收到“用户 'Clarkey' 登录失败。我也尝试包括域,但这也不起作用。连接字符串中的用户名和密码是正确的(因为它们是用户名和密码)我是半小时前登录我的笔记本电脑的)。其余的连接字符串也必须正确,否则它会说它找不到数据库而不是登录失败,不是吗??

我尝试在 SQL Server Management Studio 中添加用户,但无济于事。我添加了一个名为 Clarkey2 的用户并将其分配给 db_owner、datareader 和 datawriter,但这仍然不起作用。

主要用户 Clarkey 只有 db_owner - 这应该足以更新、插入和删除数据,对吧?

谁能指导我如何做到这一点?它现在真的让我很头疼,我真的很想在 2 周的时间内完成这个应用程序..

非常感谢,

理查德

【问题讨论】:

  • 你误会了VB和C#的区别。但是,如果您对 VB 感到满意,那么您绝对应该坚持下去。
  • 我指的是纯 C#,而不是 C#.net - 显然 C#.net 也适用于网站,但纯 C# 适用于应用程序(即 Visual C# 仅适用于软件)。如果我在那里错了,请纠正我,但这就是我被引导相信的。
  • 你还是错了。没有像 C#.net 这样的动物。 所有 C# 代码使用.Net。一些 C# 代码将 .Net 用于网站或应用程序,一些将其用于 winforms 或 WPF 应用程序,还有一些将其用于控制​​台应用程序。但是“纯”c# 和任何“C#.net”之间没有区别。

标签: .net asp.net sql-server vb.net sql-server-2008


【解决方案1】:

这里的问题是您的应用程序在解决方案中有一个数据库XYZ.mdf 文件。应用程序正在尝试将该数据库即时附加到 SQL Server。

建议您在此处稍作更改,并将该 MDF 移至 SQL Server 本身。应用程序无需自行创建数据库。

  • 将该 MDF 文件移到您的 SQL Server 计算机上。
  • 打开 SQL Server Management Studio,并附加数据库。查找.mdf
  • 根据需要创建服务器登录名和数据库用户。
  • 修改您的 web.config 文件,为您的新数据库位置使用连接字符串。 Create a new connection string from scratch

【讨论】:

  • 我确定这会起作用,但尚未安装 Sql Server Management Studio。我今晚和明天将继续工作,并在此处回复我是否解决了它。理查德
  • 已根据我目前的情况更新了原始帖子..
猜你喜欢
  • 2017-09-06
  • 1970-01-01
  • 1970-01-01
  • 2016-02-23
  • 2020-01-24
  • 2022-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多