c# - SQL Server 的 IP 地址连接字符串

标签 c# mysql sql-server

我想创建连接字符串,以便我可以使用 OleDb 作为提供程序和服务器 IP 地址在我的 C# 代码中远程连接到 SQL 数据库。

注意 1:我使用 OleDb 是因为我想处理不同的数据库类型。 SQL 只是一个例子。 注2:数据库驻留在另一台机器上(另一个网络上的机器)

我完成了从另一台机器(防火墙、启用 TCP/IP 等)连接的所有设置,现在我可以使用 Microsoft SQL Server Management 2014 通过指定(服务器名称:我的电脑名称-PC\实例)进行远程连接name) 并使用 SQL 身份验证,然后输入用户名和密码并按连接,然后一切顺利,我连接成功。

但我尝试了很多组合来在我的 C# 代码中构建连接字符串,但除此之外它们都不起作用:

OleDbConnection conn = new OleDbConnection(@"provider = sqloledb; data source = MyCompName-PC\sqlexpress; Initial Catalog = DataBase1 ; user id = MyUsername ; password = MyPassword ;");

否则,如果我尝试在数据源中使用我的服务器公共(public) IP 地址而不是 MyCompName,它会一直给我错误:未找到服务器或访问被拒绝。

我在 connectionstrings.com 中搜索,但问题仍然存在。

最佳答案

从您的帖子看来,您正在尝试连接到 SQL Server 数据库,那您为什么要使用 OleDbConnection?而不是使用 SQL Server 连接提供程序。

OleDbConnection 连接提供程序用于连接到 MS Access 数据库。

您应该使用 SqlConnection

SqlConnection conn = new SqlConnection("data source = MyCompName-PC\sqlexpress; Initial Catalog = DataBase1 ; user id = MyUsername ; password = MyPassword ;")

参见 SQLConnection Reference有关@AlexK 评论的更多信息。

关于c# - SQL Server 的 IP 地址连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30532050/

相关文章:

c# - 寻找更好的设计 : A readonly in-memory cache mechanism

c# - 在使用 Rx 的最后一个值的指定增量之后,如何让位置更新通过?

连接MySQL的C++程序

mysql - 如何在 if 条件中使用列值?

c# - 如何解决此 SQL/C# DLL 冲突

asp.net - 将 ASP.NET 数据集连接到数据库表

c# - 如何浏览主机上的所有 WCF 服务?

c# - OpenIdDict 和 ASP.NET Core : 401 after successfully getting the token back (full repro)

java - eclipse数据库创建问题

sql-server - Entity Framework 为我提供了旧数据,尽管我更改了它们