通过C#和SqlClient与SQL localhost服务器建立连接 - 不是DataBase连接

时间:2018-05-15 18:19:13

标签: c# sql-server localhost

我在网上搜索以找到解决方案,但所有这些都是指你必须与已经存在的数据库建立连接的情况。

就我而言,我必须与服务器建立连接(localhost / SQLEXPRESS),而不是创建任何数据库。

只是与服务器的连接。

然后,如果建立连接,我将在必要时创建数据库。

我在conn.Open()上收到错误 我试过了:

var conn = new SqlConnection("Server=localhost\\SQLEXPRESS;Integrated Security=SSPI")

但正如我所说它不起作用。

编辑:

好的,我明白我必须连接到某个默认数据库。 现在我编辑了我的连接字符串:

"Server=localhost\\SQLEXPRESS;Integrated Security=SSPI;database=master"

但我得到错误:

  

System.Data.SqlClient.SqlException:'与SQL Server建立连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供者:TCP提供者,错误:25 - 连接字符串无效)'

2 个答案:

答案 0 :(得分:0)

不,无法连接到数据库引擎本身。您可以做的是连接到master数据库或您可能拥有的任何默认数据库tempdbNorthwind

然后,一旦使用具有足够高权限的帐户连接到其中一个数据库,您就可以非常轻松地使用TSQL创建数据库。

除了您的评论,使用Windows帐户或sql帐户登录无关紧要。可以将默认数据库设置设置为例如Master,然后当您登录数据库时,帐户已指定。我不推荐这种方法。使用Master,我非常确定默认情况下所有版本的快递都是一个更安全的选项。

答案 1 :(得分:0)

我在这里找到了连接问题的答案(TCP / IP问题)

https://stackoverflow.com/a/38641107/8779797