【问题标题】:ASP.NET: connecting to a sql server databaseASP.NET:连接到 sql server 数据库
【发布时间】:2010-07-25 03:53:04
【问题描述】:

(非常新手的问题,如果可以的话请帮忙)

如何将visual web developer连接到sql server express 2008?在数据库资源管理器中,我右键单击数据连接,单击添加连接...,然后在数据源框中选择 Microsoft SQL Server (sqlClient),我猜它不会将我连接到数据库文件,但是到 sql server 表达自己(?)。当我单击下拉框时,在服务器名称框中,那里什么都没有,这就是我卡住的地方。

有人可以提供我如何连接到 sql server express 的链接吗?最好不是 msdn 链接,因为我去过那里并为他们的演练而苦苦挣扎。谢谢

【问题讨论】:

    标签: asp.net sql sql-server


    【解决方案1】:

    通常您可以输入.\SQLEXPRESS 以连接到本地 SQL Server Express 安装...

    点表示您所在的计算机,例如 localhost,而 \SQLEXPRESS 是运行服务器的 SQL Server 实例...无论如何这都是 SQL Server Express 的默认实例名称...

    【讨论】:

    • 嘿,这让我比以前更接近了,但仍然没有联系。我现在收到此错误:无法添加数据连接。 ExecuteScalar 需要一个开放且可用的连接。连接的当前状态为关闭。
    【解决方案2】:

    Sql Server Express 是一个服务器类数据库引擎。这意味着,是的,您确实连接到服务器,而不是直接读取/写入文件。然后,服务器引擎将处理对您数据的访问。

    这很重要。这种机制允许 sql server 安全地处理像 asp.net 网站这样的情况,其中每个页面请求都在不同的线程中运行,并且您可能有很多都想同时写入数据库。如果每个进程都只是写入文件,那么您将遇到数据损坏问题。将请求发送到单个服务器进程允许它正确地确保每个项目在单独的、隔离的事务中运行并安全地处理这些操作。

    这种机制对于性能也很重要。它允许系统一次性将表和索引预加载到内存中,以供碰巧对该数据发出请求的任何进程使用。这就是为什么像 sql server express 甚至 mysql 这样的服务器引擎在数据扩展时总是能够在性能方面击败像 sqlite 这样的进程内引擎,即使 sqlite 最初的资源密集度更低,而且在小型服务器上通常看起来更快数据或小负载。

    需要运行此服务器进程也是为什么您应该将 sql server express 用于本地桌面应用程序。在这种情况下,您不想强迫您的用户让服务器进程 24/7 坐在那里,使用内存来缓存您可能只是偶尔引用的索引和表数据。这是您的 sql server 压缩、sqlites 和 access 数据库的用武之地。

    至于您的具体连接问题,有很多事情可能会导致这种情况。您确定您的系统上当前已安装并运行 sql server express 吗?如果您只是手动在框中键入“localhost”或“./SQLEXPRESS”会发生什么?

    【讨论】:

    • 我刚刚尝试了“./SQLEXPRESS”,但出现此错误:无法添加数据连接。 ExecuteScalar 需要一个开放且可用的连接。连接的当前状态为关闭。
    • @400_the_cat:一旦你创建了连接,你需要在运行.ExecuteScalar()之前调用.Open()(然后是.Close())。但这表明您的连接正常!
    【解决方案3】:

    单击 Visual Studio 中的工具。选择连接到数据库。从“选择数据源”窗口中选择数据源。Microsoft Sql Server。然后继续。新窗口将在“数据源”中打开“添加连接”类型 Microsoft SQL Server (SqlClient) 并选择服务器名称。从选择中选择您的数据库名称或输入数据库名称。然后点击测试连接。

    在测试连接窗口中复制连接字符串...您可以在您的应用程序'web.config 中使用它。或在您的页面上

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-07
      • 1970-01-01
      • 2013-07-08
      • 2012-10-22
      相关资源
      最近更新 更多