You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#使用DataSet连接MariaDB生成水晶报表port关键字不支持报错如何解决

错误原因

SqlConnection是SQL Server专属的数据库连接类,无法识别MySQL/MariaDB连接串中的port参数,才会触发该报错。你使用的数据库是MariaDB,需要用对应的MySQL专属ADO.NET组件进行数据库连接。

解决步骤
  • 首先在项目中安装MySQL官方.NET驱动:打开NuGet包管理器,搜索安装MySql.Data包,匹配你当前项目的.NET版本即可。
  • 第二步在你的CrystalReportDemoController代码顶部添加命名空间引用:
using MySql.Data.MySqlClient;
  • 第三步替换你代码中所有SQL Server专属的数据库操作类:
    1. 将SqlConnection替换为MySqlConnection
    2. 将SqlCommand替换为MySqlCommand
    3. 将SqlDataReader替换为MySqlDataReader

修改后的ExeQuery方法参考:

private MySqlDataReader ExeQuery(string str)
{
    MySqlDataReader dr = null;
    MySqlConnection conn = new MySqlConnection(erpConnectionString);
    conn.Open();
    using (MySqlCommand cmd = new MySqlCommand(str,conn))
    {
        cmd.CommandType = CommandType.Text;
        cmd.CommandTimeout = 50000;
        dr = cmd.ExecuteReader();
    }
    return dr;
}
额外说明

你现有的Web.config连接串配置、读取数据后绑定到水晶报表的逻辑无需修改,调整完数据库操作类后即可正常运行。

内容的提问来源于stack exchange,提问作者New User

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 15:36:04