2012-05-07 93 views
115

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

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

我必须发布或类似的东西,或者是在我的文档的地方?

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

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

如何发布我的数据库,以便Visual Studio可以检索它?那么我可以只是拉那里的连接字符串?

回答

129

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

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

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

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

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

+2

我明白这一点,并且喜欢它:D,但是你能否更详细地解释如何进行备份和部署?我对MS SQL Server的了解很差,我在一个小时前开始使用它:\ – Pomster

+1

其窗口服务 – Pomster

+0

是否有realsql服务器?你会使用sql server express吗? SQL Server Compact Edition足够了吗?如果您不提供额外信息,我们将无法获得您可以使用的内容 – JotaBe

1

在以下路径

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

,其中<drive>是安装驱动器和X是实例编号(MSSQL.1数据库引擎的第一个实例)的sql server database will be stored默认。为了提供连接字符串,您应该知道什么是SQL Server数据库的服务器名称,您已经存储了哪些数据库,然后是数据库服务器的实例。

一般的服务器名称将是等,其中连接数据库的机器和默认实例的IP地址将被SQLEXPRESS

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

+1

如何获得连接字符串? – Pomster

+1

我看了一下Program files \ Microsoft SQl Server,我不知道我在找什么? – Pomster

+0

您不需要查找数据库存储文件夹,请参阅我为连接字符串提供的链接并编写连接字符串。 –

13

connectionstrings.com你可以找到每一个DB提供程序的连接字符串。连接字符串由特定属性/属性及其值组成。对于SQL Server 2008,它看起来像这样(标准,这是你需要在这里什么):

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

myServerAddress,写你的安装实例的名称(默认情况下它是.\SQLEXPRESS初始目录=数据库名字,你会连接后,看到它在SSMS左侧,其余是不言而喻的。

编辑

您需要将省略对于Windows身份验证的用户名和密码。

76

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

+3

令人敬畏的方法! – xacinay

+0

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

3

下面放标记在web.config文件中配置节点

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

,那么你可以使用上面的ConnectionString,例如

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

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

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

而且使用在这方面:

using (var conn = new SqlConnection(connection)) 

请纠正我,如果我错了。

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

这是如何回答OP的问题? – Filburt

7

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

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

Data -> From Other Sources -> From SQL Server 

放在服务器名称选择表等,

当你到“导入数据“对话框,
点击属性在”连接属性“对话框中,
选择“定义”选项卡。

而且有很好的Excel显示拷贝
连接字符串(甚至导出连接文件...

+0

这工作完美,并不需要连接在VS中设置。 – Robino