【问题标题】:C# trying to send queriesC# 尝试发送查询
【发布时间】:2021-04-08 14:16:28
【问题描述】:

我有一个安装了 mariadb 的 linux 服务器,我想通过这个脚本使用 C# 向该服务器发送查询

namespace SQLTEST
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            CreateCommand(
                "INSERT INTO TEST(name) VALUES ('sample');",
                "server=IPadress;database=test;uid=root;password=**;pooling=false;"            );
            Console.ReadKey(true);
        }
        private static void CreateCommand(string queryString, string connectionString)
        {
            try{
                using (SqlConnection connection = new SqlConnection(connectionString))
                {
                    SqlCommand command = new SqlCommand(queryString, connection);
                    command.Connection.Open();
                    System.Console.WriteLine("Connectin  open");
                    command.ExecuteNonQuery();
                }
            } catch(Exception e){
                System.Console.WriteLine(e.Message);
            }
        }
    }
}

我多次尝试更改连接字符串。似乎我无法克服 command.connection.open 行 这是我不断收到的错误

与 SQL Server 建立连接时出现与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)

【问题讨论】:

  • 错误说明一切 - 检查连接字符串是否正确并指向现有服务器
  • 你知道任何 Connectionstring 模板吗?似乎我需要一个不同的“模板”,但我都试过了。属性正确
  • 老兄——你不会很幸运地使用 Sql Server 库连接到 MariDB 数据库实例!你需要一个 MySql/MariaDB 库!问:您是在 Windows 上使用 MSVS 还是“其他”开发项目(C#/.Net Core 客户端)?如果您使用 MSVS:1) 打开项目,2) 使用 NuGet 安装 MariaDB 库,3) 修改连接字符串,4) 重试。详情请看这里:mysqlconnector.net

标签: c# mysql sql .net-core


【解决方案1】:

您将 MariaDB(本质上是 MySQL)作为您的数据库,并且您正尝试使用 Microsoft SQLServer 客户端库来访问它。它永远不会起作用 - 它们是完全不同的数据库。

改用MySQL library

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-18
    • 1970-01-01
    • 1970-01-01
    • 2014-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-16
    相关资源
    最近更新 更多