252

I have created a database with SQL Server Management Studio, I would like to now use it in my C# application. I need the connection string?

Where can I find the connection string, and where is my database stored?

Do I have to publish it or something like that, or is it in my documents somewhere?

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

How do I obtain the connection string? Where can I find the connection string to copy paste into the above section?

How to I publish my database so that Visual Studio can pick it up? Then I can just pull the connection string of there?

4

12 回答 12

250

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

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

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

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

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

于 2012-05-07T09:47:11.497 回答
131

检索连接字符串的一种非常简单的方法是创建一个文本文件,将扩展名从.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/

于 2012-05-07T09:52:38.003 回答
31

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

1]在 Visual Studio 中,转到Tools -> Connect to Database

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

3]在 Connect to a Database 下,选择Select or enter a database name

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

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

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

7]在 Visual Studio 中,转到View -> Server Explorer

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

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

于 2019-06-17T16:49:37.780 回答
24

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

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

在 上myServerAddress,写下您已安装实例的名称(默认.\SQLEXPRESS为 SQL Server Express 版本)。初始目录 = 您的数据库名称,连接后您将在左侧的 SSMS 中看到它。其余的不言自明。

编辑

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

于 2012-05-07T09:41:09.227 回答
24

打开 SQL Server Management Studio 并运行以下查询。您将获得连接字符串:

select
    'data source=' + @@servername +
    ';initial catalog=' + db_name() +
    case type_desc
        when 'WINDOWS_LOGIN' 
            then ';trusted_connection=true'
        else
            ';user id=' + suser_name() + ';password=<<YourPassword>>'
    end
    as ConnectionString
from sys.server_principals
where name = suser_name()
于 2021-02-12T06:50:30.997 回答
10

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

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

Data -> From Other Sources -> From SQL Server 

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

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

Excel 可以很好地显示用于复制的连接字符串
(甚至导出连接文件...

于 2015-10-12T18:37:33.767 回答
5

如果使用 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代替源,您可能需要调整驱动程序以适应目标操作;但它给了一个发射台。

于 2018-05-13T17:03:59.827 回答
2

在配置节点的 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();
于 2012-05-07T12:11:21.890 回答
0

sql server 数据库会默认存放在以下路径

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

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

服务器名称一般是数据库所在机器的IP地址,默认实例是SqlExpress

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

于 2012-05-07T09:39:56.393 回答
0

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

于 2020-06-18T20:33:15.583 回答
-1

如果您在项目中创建了连接管理器,那么您可以简单地从那里拉出连接字符串。

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

并在以下情况下使用此连接:

using (var conn = new SqlConnection(connection))

如果我错了,请纠正我。

于 2012-09-21T09:41:46.897 回答
-4
SqlConnection con = new SqlConnection();
con.ConnectionString="Data Source=DOTNET-PC\\SQLEXPRESS;Initial Catalog=apptivator;Integrated Security=True";
于 2013-05-15T10:37:18.980 回答