测试 SqlSugar 使用 Mycat ,使用 Ado.Open() 时报错:对象不能从DBNull 换为其他类型。 返回

SqlSugar 沟通中
5 504

1735364928892.jpg

查询相关资料,说是由于 MyCAT 与 MySQL 的协议有差异,所以不能使用 Mysql.Data 来与 MyCAT 直接连接。

所以,SqlSugar 可以使用 Mycat 吗?希望大神告知和指导下。


热忱回答5

  • fate sta fate sta VIP0
    2024/12/28

    .netframework还是.netcore+描述清楚.net版本

    0 回复
  • @fate sta:.Net Framework 4.8 版本

    0 回复
  • image.png

    0 回复
  • 用mysqlconnector驱动试试

    0 回复
  • 土豆 土豆 VIP0
    1个月前

    @fate sta:我是dotnet8,我连接mycat 也报错 

    SqlSugar.SqlSugarException

      HResult=0x80131500

      Message=中文提示 :  连接数据库过程中发生错误,检查服务器是否正常连接字符串是否正确,错误信息:Unknown database 'mysql'DbType="MySql";ConfigId="".

    English Message : Connection open error . Unknown database 'mysql'DbType="MySql";ConfigId="" 

      Source=SqlSugar

      StackTrace:

       在 SqlSugar.Check.Exception(Boolean isException, String message, String[] args)

       在 SqlSugar.AdoProvider.CheckConnection()

       在 SqlSugar.MySqlProvider.GetCommand(String sql, SugarParameter[] parameters)

       在 SqlSugar.AdoProvider.GetDataReader(String sql, SugarParameter[] parameters)

       在 SqlSugar.AdoProvider.SqlQuery[T,T2,T3,T4,T5,T6,T7](String sql, Object parameters)

       在 SqlSugar.AdoProvider.SqlQuery[T](String sql, SugarParameter[] parameters)

       在 SqlSugar.AdoProvider.SqlQuery[T](String sql, Object parameters)

       在 SqlSugar.DbMaintenanceProvider.GetDataBaseList(SqlSugarClient db)

       在 SqlSugar.MySqlDbMaintenance.CreateDatabase(String databaseName, String databaseDirectory)

       在 SqlSugar.DbMaintenanceProvider.CreateDatabase(String databaseDirectory)

       在 Xl.Tables.SqlSugar.SqlSugarHelper.InitDb() 在 D:\gitlab202411\webapi\Xl.Tables\SqlSugar\SqlSugarHelper.cs 中: 第 275 行

       在 WebApi.Program.<>c__DisplayClass0_0.<Main>b__6() 在 D:\gitlab202411\webapi\WebApi\Program.cs 中: 第 298 行

       在 System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state) 在 System.Threading\ExecutionContext.cs 中: 第 192 行


      此异常最初是在此调用堆栈中引发的: 

        SqlSugar.Check.Exception(bool, string, string[])

        SqlSugar.AdoProvider.CheckConnection()

        SqlSugar.MySqlProvider.GetCommand(string, SqlSugar.SugarParameter[])

        SqlSugar.AdoProvider.GetDataReader(string, SqlSugar.SugarParameter[])

        SqlSugar.AdoProvider.SqlQuery<T, T2, T3, T4, T5, T6, T7>(string, object)

        SqlSugar.AdoProvider.SqlQuery<T>(string, SqlSugar.SugarParameter[])

        SqlSugar.AdoProvider.SqlQuery<T>(string, object)

        SqlSugar.DbMaintenanceProvider.GetDataBaseList(SqlSugar.SqlSugarClient)

        SqlSugar.MySqlDbMaintenance.CreateDatabase(string, string)

        SqlSugar.DbMaintenanceProvider.CreateDatabase(string)

        ...

        [调用堆栈已截断]


    0 回复