我的程序使用以下代码连接到 C# 控制台项目中的服务器:
public static void Main(string[] args)
{
Console.WriteLine("Hello World!");
System.Data.SqlClient.SqlConnection conn =
new System.Data.SqlClient.SqlConnection();
string connectionString = "Data Source=IPOfServer;" +
"Initial Catalog=nameOfDatabase;"+
"User ID=USERNAME;" +
"Password=PASSWORD";
conn.ConnectionString = connectionString;
try
{
Console.WriteLine("Before Connection");
conn.Open();
Console.WriteLine("Connection Open");
conn.Close();
Console.WriteLine("Connection Closed");
}
catch (Exception ex)
{
Console.WriteLine(String.Format("Can't Connect; Error:{0}", ex.Message));
}
}
和输出:
Hello World!
Before Connection
Connection Open
Connection Closed
当我在 .NET Core 控制台项目中尝试完全相同的代码时,我的输出是:
Hello World!
Before Connection
但是程序永远不会出错或结束。它只是永远挂起。
我正在使用System.Data.Common
和System.Data.SqlClient
的软件包 这是我尝试连接到的 MSSQL 2005 服务器。
我做错了什么/如何使用 .NET Core 控制台项目连接到我的服务器?我考虑过使用EntityFramework
,但宁愿不使用它,除非这是我唯一的选择。
当我连接到较新版本的 sql 服务器时,我的程序运行,显然 Core 无法连接到 MSSQL 2005。谢谢@TcKs提供的解决方案。
尝试以下操作:
在 Visual Studio 2015 中打开现有解决方案。现在,添加新客户端 在解决方案中库 .NET Core 项目。
通过解决方案上下文菜单打开"添加新项目"屏幕>>添加新项目>>新建项目或文件>>新建>>项目。选择类库 (.NET 核心)模板通过已安装的>>模板>> Visual C#>> .NET 核心。将项目命名为"WebApplicationCore.NetCore.DataAccess"。设置 合适的位置为"C:\ASP.NET 核心\欢迎使用 .NET 核心 1.0\ ASP.NET 核心"(默认选择解决方案根目录)。点击 OK 按钮。
它将创建一个新的类库项目。
添加对 Microsoft.EntityFrameworkCore.SqlServer 的引用,使用以下之一 以下方法。
通过 NuGet 数据包管理器>>包管理器控制台>>工具打开包管理器控制台,然后运行安装命令"安装包" Microsoft.EntityFrameworkCore.SqlServer" for WebApplicationCore.NetCore.DataAccess project.
通过 WebApplicationCore.NetCore.DataAccess 打开 NuGet Manager "引用"上下文菜单>>"引用">>"管理 NuGet 包"。在 浏览选项卡搜索"Microsoft.EntityFrameworkCore.SqlServer"和 安装。
将 Class1 重命名为 BaseDataAccess,并将所需的实现添加到 连接到 SQL Server 数据库。
- 来源(尖角)
关于 StackOverflow 的类似问题