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

时间:2012-05-07 09:35:42

标签: c# sql-server

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

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

我是否必须发布它或类似的内容,或者是否在我的文档中?

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

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

如何发布我的数据库以便Visual Studio可以获取它?然后我可以拉出那里的连接字符串?

12 个答案:

答案 0 :(得分:172)

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

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

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

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

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

答案 1 :(得分:97)

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

答案 2 :(得分:16)

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

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

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

修改

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

答案 3 :(得分:8)

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

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

 Sub thesearchmacro()
  Dim excelfile As Object
  Dim excelsheet As Object
  Dim worddoc As Document
  Dim searchcell As Object
  Dim destcol As Integer
  Dim destrow As Integer
  Dim destcell as Object
  Dim searchterms As Object
 Dim documentrange As Range



 Set documentrange = ActiveDocument.Range
 Set excelfile = CreateObject("Excel.Application")
 Set excelsheet = excelfile.workbooks.Open("U:\filepath\searchmachine.xlsm")
 Set searchterms = excelsheet.Worksheets("Data").Range("B2:GX2")
 destcol = 2
 For Each searchcell In searchterms.Cells

    destrow = 3
    With documentrange.Find
        Do
            .Text = searchcell
            .execute

           If .Found Then
            documentrange.Expand unit:=wdSentence
            excelsheet.Sheets("Data").Cells(destrow, destcol) = documentrange
            documentrange.Collapse wdCollapseEnd

            destrow = destrow + 1


    Loop While .Found
    destcol = destcol + 1
 End With
 Next

End Sub

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

  

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

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

答案 4 :(得分:6)

打开 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()

答案 5 :(得分: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();

答案 6 :(得分:2)

如果使用工具Linqpad,在从连接连接到目标数据库之后,可以获得要使用的连接字符串。

  1. 右键单击数据库连接。
  2. 选择Properties
  3. 选择Advanced
  4. 选择Copy Full Connection String to Clipboard
  5. 结果:Data Source=.\jabberwocky;Integrated Security=SSPI;Initial Catalog=Rasa;app=LINQPad

    enter image description here

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

答案 7 :(得分:1)

以下路径中默认为sql server database will be stored

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

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

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

connection string包含数据源名称,即服务器名称,初始目录,即数据库名称,用户ID 即,登录数据库的用户ID,密码即数据库的登录密码。

答案 8 :(得分:1)

如果已经安装并设置了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 :(得分:1)

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

答案 10 :(得分:0)

如果您在项目中创建了Connection Manager,那么您只需从那里拉出连接字符串即可。

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

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

using (var conn = new SqlConnection(connection))

如果我错了,请纠正我。

答案 11 :(得分:-1)

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