如何从数据库获取连接字符串


197

我已经使用SQL Server Management Studio创建了一个数据库,现在想在我的C#应用​​程序中使用它。我需要连接字符串吗?

在哪里可以找到连接字符串,数据库存储在哪里?

我是否必须发布它或类似的东西,或者它是否在我的文档中某处?

using (var conn = new SqlConnection("your connection string to the database"))

如何获取连接字符串?在哪里可以找到将粘贴复制到上面部分的连接字符串?

我如何发布数据库,以便Visual Studio可以提取它?那我可以拉那里的连接线吗?


看一下如何生成连接字符串youtu.be/1WgO7CDSmu8
anomepani

Answers:


201

获取连接字符串的最简单方法是使用Visual Studio中的“服务器资源管理器”窗口(菜单视图服务器资源管理器),然后从该窗口连接到服务器。

然后,您可以在所连接服务器的属性中看到连接字符串(选择连接并按F4或Alt + Enter或在右键菜单上选择“属性”)。

高级连接字符串设置:创建连接时,您可以通过点击“底部的“高级...”按钮来修改任何高级连接字符串选项,例如MARS,弹性,timeot,池配置等。添加连接”对话框。您可以稍后通过右键单击数据连接,然后选择“修改连接...”来访问此对话框。可用的高级选项因服务器类型而异。

如果使用SQL Server Management Studio创建数据库,则将在服务器实例中创建数据库,因此,要部署应用程序,您必须备份数据库并将其部署在部署SQL Server中。或者,您可以使用SQL Server Express(SQL Server 2012中的localDB)使用数据文件,该数据文件将随应用程序轻松分发。

即,如果它是一个ASP.NET应用程序,则有一个App_Datafolder。如果右键单击它,则可以添加一个新元素,该元素可以是SQL Server数据库。该文件位于该文件夹中,可与SQL Express一起使用,并且易于部署。您需要在计算机上安装SQL Express / localDB才能起作用。


2
我理解这种方式,并且喜欢它:D,但是您能解释一下如何进行备份然后再部署吗?我对MS SQL Server的了解很糟糕,大约一个小时前就开始使用它:\
Pomster,2012年

是否有Realsql服务器?你会用sql server express吗?使用SQL Server Compact Edition是否足够?如果您不提供其他信息,我们将无法使用您可以使用的东西
JotaBe'5

1
我使用MS SQl Server Management Studio 2008和MS SQL Management Studio创建数据库。我使用查询来创建一些列。现在,我希望用我的C#应用程序来填充它
波姆斯特尔

会部署此应用程序吗?您会在本地使用它吗?您介意所需的服务器类型吗?我不需要知道您是如何创建数据库的,而不必知道在哪里以及为什么。我猜不到您需要什么!
JotaBe'5

我将在本地使用它,我不是你要我给你的吗?
Pomster,2012年

113

检索连接字符串的一种非常简单的方法是创建一个文本文件,将扩展名从.txt更改为.udl

双击.udl文件将打开“ 数据链接属性”向导。

配置并测试与数据库服务器的连接。

关闭向导,然后使用您选择的文本编辑器打开.udl文件,只需复制连接字符串(不包括该Provider=<driver>部分)即可在C#应用程序中使用它。

样本udl文件内容

[oledb]
; Everything after this line is an OLE DB initstring
Provider=SQLNCLI11.1;Integrated Security=SSPI;Persist Security Info=False;User ID="";Initial Catalog=YOURDATABASENAME;Data Source=YOURSERVERNAME;Initial File Name="";Server SPN=""

您需要从中复制什么

Integrated Security=SSPI;Initial Catalog=YOURDATABASENAME;Data Source=YOURSERVERNAME;

如果要指定用户名和密码,则可以从其他答案中采用。

教程:https//teusje.wordpress.com/2012/02/21/how-to-test-an-sql-server-connection/


如果这不起作用,则有些注册表文件会更改注册表以启用/禁用UDL扩展。我通常在Windows文件夹中搜索* .reg。
AMissico 2015年

看看在网络配置文件youtu.be/1WgO7CDSmu8
anomepani

20

connectionstrings.com上,您可以找到每个数据库提供程序的连接字符串。连接字符串由某些属性/属性及其值构成。对于SQL Server 2008,它看起来像这样(标准,这是您在这里需要的):

Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

在上myServerAddress,输入已安装实例的名称(默认情况下,该名称.\SQLEXPRESS用于SQL Server Express版本)。初始目录=您的数据库名称,连接后您会在左侧的SSMS中看到它。其余的不言而喻。

编辑

您将需要省略Windows身份验证的用户名和密码并添加Integrated Security=SSPI


10

如果您已经安装并设置了MS SQL Server和Management Studio,请转到Visual Studio(Visual Studio而不是SQL Server Management Studio)。

1]在Visual Studio中,转到“ 工具”->“连接到数据库”

2]在服务器名称下,选择您的数据库服务器名称(如果需要花费时间,请在列表中填充)。

3]在“连接到数据库”下,选择“ 选择”或输入数据库名称

4]从下拉列表中选择数据库。

5]选择数据库后,尝试测试连接。

6]如果“测试连接成功”,请单击“确定”。

7]在Visual Studio中,转到“ 视图”->“服务器资源管理器”

8]在“服务器资源管理器”窗口中的“数据连接”下,选择数据库。右键单击数据库->单击属性

9]在“ 属性”窗口中,您将看到“ 连接字符串”


9

我的解决方案是使用 (2010)。

在新的工作表中,选择一个单元格,然后:

Data -> From Other Sources -> From SQL Server 

输入服务器名称选择表等,

进入“导入数据”对话框时,在“连接属性”对话框中
单击Properties
选择“定义”选项卡。

而且Excel很好地显示了要复制的连接字符串
(甚至是导出连接文件...


这可以完美地工作,并且不需要在VS中建立连接。
罗宾诺

哈哈,这是一种超创意但有效的方法。我之所以尝试它,仅仅是因为它没有要求任何先决条件依赖项。谢谢。
托德

3

将以下标记放在配置节点中的web.config文件中

 <connectionStrings>
<add name="NameOFConnectionString" connectionString="Data Source=Server;Initial Catalog=DatabaseName;User ID=User;Password=Pwd"
  providerName="System.Data.SqlClient" />

那么你可以使用上面的连接字符串,例如

SqlConnection con = new SqlConnection();
            con.ConnectionString = ConfigurationManager.ConnectionStrings["NameOFConnectionString"].ToString();

3

如果使用工具Linqpad,则在从连接中连接到目标数据库后,就可以使用连接字符串。

  1. 右键单击数据库连接。
  2. 选择 Properties
  3. 选择 Advanced
  4. 选择 Copy Full Connection String to Clipboard

结果: Data Source=.\jabberwocky;Integrated Security=SSPI;Initial Catalog=Rasa;app=LINQPad

在此处输入图片说明


删除app=LinqPad依赖于驱动程序和其他项目(例如Server代替源代码)的驱动程序,您可能需要调整驱动程序以适合目标操作;但它给了一个发射台。


2
我赞成这篇文章
Jabberwocky

1

SQL Server数据库将被存储在默认情况下在以下路径

<drive>:\Program Files\Microsoft SQL Server\MSSQL.X\MSSQL\Data\

,其中<drive>是安装驱动器,而X是实例号(对于数据库引擎的第一个实例,为MSSQL.1)。为了提供连接字符串,您应该知道sql server数据库的服务器名称,该名称存储在其中,其后是数据库服务器的实例。

通常,服务器名称将类似于连接数据库的计算机的IP地址,默认实例为SqlExpress

一个连接字符串包含数据源名称即服务器名称,初始目录即数据库名称,用户ID即数据库的登录用户ID,密码即数据库的登录密码。


1
如何获得连接字符串?
Pomster,2012年

1
我看了看Program Files \ Microsoft SQl Server,却不知道我在找什么?
Pomster,2012年

您无需查找数据库存储文件夹,请查看我为连接字符串提供的链接并编写您的连接字符串。
西里扬

0

如果在项目中创建了连接管理器,则只需从那里拉连接字符串即可。

String connection = this.dts.connections["<connection_manager_name>"];

并在以下位置使用此连接:

using (var conn = new SqlConnection(connection))

如果我错了,请纠正我。


0

我的朋友们最简单的方法是打开Visual Studio 2019上的服务器资源管理器选项卡(以我为例),然后尝试创建与数据库的连接。创建成功的连接后,只需右键单击它并转到属性。在那里,您将找到一个具有正确语法的字符串连接字段!...这对我很有用,因为我事先已经知道我的服务器名称....只是无法找出运行我的ef脚手架的正确语法...


-2
SqlConnection con = new SqlConnection();
con.ConnectionString="Data Source=DOTNET-PC\\SQLEXPRESS;Initial Catalog=apptivator;Integrated Security=True";

2
这如何回答OP问题?
菲尔伯特
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.