我发现这很难得到答案,但最终想通了。所以我会写下面的步骤。
在代码中设置连接字符串之前,请确保您确实可以访问您的数据库。显然,首先使用 SSMS(Sql Server Management Studio 或其他数据库中的等效工具)在本地登录数据库服务器,以确保您可以使用您打算使用的任何详细信息进行访问。
接下来(如果需要),如果您尝试访问单独服务器上的数据库,请确保您可以在 SSMS 中进行同样的操作。因此,在计算机上设置 SSMS 并确保您可以使用该数据库服务器的用户名和密码访问服务器。
如果您没有正确理解上述 2 项,那么您只是在浪费时间,因为您无法访问数据库。这可能是因为您设置的用户错误、未启用远程访问(如果需要)或端口未打开(如果需要),还有许多其他原因,但这些是最常见的。
一旦您确认可以使用 SSMS 访问数据库。下一步,只是为了使流程自动化并避免错误,就是让系统为您完成工作。
- 启动一个空项目,将您选择的 Linq 添加到 SQL 或 Dataset(EF 很好,但连接字符串嵌入在 EF con 字符串中,我想要一个干净的),然后使用详细信息连接到您的数据库上面在 con 字符串向导中验证。添加任何表格并保存文件。
现在进入网络配置,神奇的是,您会在其中看到漂亮干净的工作连接字符串以及您需要的所有详细信息。
{ 以下是旧帖子的一部分,因此您可以忽略它,我将其留作参考,因为它是仅从后面的代码访问数据库的最基本方法。请向下滚动并从下面的步骤 2 继续。 }
让我们假设上述步骤从后面代码中的连接字符串开始,如下所示:
string conString = "Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;";
这一步非常重要。在执行以下步骤之前,请确保您具有上述格式的连接字符串。确保您实际上可以使用某种形式的 sql 命令文本访问您的数据,该文本以标签或文本框或其他方式显示表格中的一些数据,因为这是执行连接字符串的最简单方法。
一旦您确定上述样式有效,现在就可以采取下一步措施了:
1。
将您的字符串文字(引号中的内容,包括引号)导出到 web.config 文件的以下部分(对于多个连接字符串,只需执行多行:
<configuration>
<connectionStrings>
<add name="conString" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
<add name="conString2" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
<add name="conString3" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
{ 以上是旧帖子的一部分,完成前 3 步后,整个过程将为您完成,因此您可以忽略它。我只是把它留在这里供我自己参考。 }
2。
现在将以下代码行添加到后面的 C# 代码中,最好是在类定义下(即不在方法内)。这指向项目的根文件夹。本质上它是项目名称。这通常是 web.config 文件的位置(在这种情况下,我的项目称为 MyProject。
static Configuration rootWebConfig = WebConfigurationManager.OpenWebConfiguration("/MyProject");
3。
现在将下面这行代码添加到后面的 C# 代码中。这会设置一个字符串常量,如果您在不同的方法中需要一个 conString,您可以在代码中的许多地方引用该常量。
const string CONSTRINGNAME = "conString";
4。
接下来将下面这行代码添加到后面的 C# 代码中。这会从名为 conString 的 web.config 文件中获取连接字符串(来自上面的常量)
ConnectionStringSettings conString = rootWebConfig.ConnectionStrings.ConnectionStrings[CONSTRINGNAME];
5。
最后,你原本会有类似于这行代码的地方:
SqlConnection con = new SqlConnection(conString)
你将用这行代码替换它:
SqlConnection con = new SqlConnection(conString.ConnectionString)
完成这 5 个步骤后,您的代码应该可以像以前一样工作了。因此,您首先以原始格式测试 constring 的原因是您知道它是连接字符串的问题还是代码的问题。
我是 C#、ASP.Net 和 Sql Server 的新手。所以我确信必须有更好的方法来执行此代码。
如果可能的话,我也会感谢有关如何改进这些步骤的反馈。我到处寻找类似的东西,但经过数周的努力,我最终弄明白了。自己看,我还是觉得,一定有更简单的方法。
我希望这会有所帮助。