Sqlserver 连接字符串密码里带 '@' 符号连不上 返回

SqlSugar 沟通中
12 109

Sqlserver 连接字符串密码里貌似带 '@' 符号连不上

例如:

<add name="MESDEV" connectionString="server=1.2.3.4;database=QPMES_DEV;uid=qpmes_iot_deploy;pwd=NumLock@k2eboAXt80" />


版本:  <package id="SqlSugar" version="5.1.4.157" targetFramework="net472" />


我用同样的连接字符串使用如下代码测试正常

 public static bool TestConnectionString(string connectionString)
        {
            try
            {
                using (SqlConnection connection = new SqlConnection(connectionString))
                {
                    connection.Open();

                    SqlCommand sql = new SqlCommand("SELECT COUNT(1) FROM dbo.mes_form05",connection);
                    var count = (int)sql.ExecuteScalar();                    

                    return true;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"连接失败:{ex.Message}");
                return false;
            }
        }

热忱回答12

  • var builder = new SqlConnectionStringBuilder
    {
        DataSource = "myServerAddress",
        InitialCatalog = "myDataBase",
        UserID = "myUsername",
        Password = "myPa@ssw@rd"
    };
    var connectionString = builder.ConnectionString;

    这样试试

    0 回复
  • 你要在同一个项目测试

    0 回复
  • 原生可以sqlsugar百分百可以

    0 回复
  • db.Ado.Connection=new SqlConnection(connectionString);


    直接可以等于原因

    0 回复
  • 感谢大佬,明天待我试试

    0 回复
  • 虽然名字不一样,但你绝对是那位活跃在知乎各大.net帖子下的 阿尼亚

    0 回复
  • 那这个问题得修啊,不然想做配置文件还得自己识别连接串拆分


    0 回复
  • @小白不圆:这个是你的问题

    0 回复
  • ORM就等于原生

    0 回复
  • 你可同一个项目,同一个字符串测试,肯定是一样结果

    0 回复
  • var conn = new SqlConnection("xx");
    conn.Open();
    var db = new SqlSugarClient(new ConnectionConfig()
    {
            ConnectionString= conn.ConnectionString,
            DbType=DbType.SqlServer,
            IsAutoCloseConnection=true
    });
    db.Open();

    在同一个项目拿我这个代码去跑,ADO.NET能跑SQLSugar必然能跑

    0 回复
  • OK,检测完是我自己的问题,感谢阿尼亚的积极回复

    0 回复