吃花京院不喝粥 2022-04-04 09:39 采纳率: 50%
浏览 21

2020Uinty连接MySQL始终报错

unity编辑器是2020.3版本,mysql是8.0,去官网下的最新的mysql for vs,一共复制的是如下四个dll。

img

运行以后始终报错,试了百度的许多方法也不成功,编辑器版本是.net standard2.0,不知道其中到底有什么问题

img

连接数据库的代码如下
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using MySql.Data;
using MySql.Data.MySqlClient;
using System;

public class SqlHelper 
{
    private static SqlHelper _instance = new SqlHelper();
    private static string connStr = "Database=jlx2022;Data Source = 127.0.0.1; User Id = root; Password=123456;port=3306";
    private string ip;
    private string acc;
    private string psd;
    private string db;
    public static SqlHelper Insatance
    {
        get
        {
            return _instance;
        }
    }
    /// <summary>
    /// 获取连接
    /// </summary>
    /// <returns></returns>
    private MySqlConnection GetSqlConn()
    {
        MySqlConnection sqlConn = null;
        sqlConn = new MySqlConnection(connStr);
        return sqlConn;
    }
    /// <summary>
    /// 获取所有表名
    /// </summary>
    /// <returns></returns>
    public IEnumerable<string> GetTables()
    {
        string sql = string.Format(@"select table_name from information_schema.tables where table_schema='{0}' and table_type='base table'", db);
        //string sql = @"select table_name from information_schema.tables where table_schema='lwcc' and table_type='base table'";
        List<string> strs = new List<string>();
        var conn = GetSqlConn();
        conn.Open();
        MySqlCommand cmd = new MySqlCommand(sql, conn);
        MySqlDataReader reader = cmd.ExecuteReader();
        while (reader.Read())
        {
            strs.Add(reader[0].ToString());
        }
        conn.Close();
        return strs;
    }
    /// <summary>
    /// 设置连接Str
    /// </summary>
    /// <param name="ip"></param>
    /// <param name="acc"></param>
    /// <param name="psd"></param>
    /// <param name="db"></param>
    public void SetConnStr(string ip, string acc, string psd, string db)
    {
        this.ip = ip;
        this.acc = acc;
        this.psd = psd;
        this.db = db;
        connStr = string.Format("DataBase={0};Data Source= {1};User Id = {2};Password={3};port=3306;", db, ip, acc, psd);
    }
    public void ClearTables(IEnumerable<string> tbs)
    {
        string cmdText = "";
        foreach (var item in tbs)
        {
            cmdText += string.Format("truncate table {0};", item);
        }
        var conn = GetSqlConn();
        conn.Open();
        MySqlCommand cmd = new MySqlCommand(cmdText, conn);
        cmd.ExecuteNonQuery();
        conn.Close();
    }
}


感激不尽
  • 写回答

1条回答 默认 最新

  • 林一怂儿 前端领域新星创作者 2022-04-05 01:16
    关注

    可以使用这个版本连接
    https://cdn.mysql.com/archives/mysql-connector-net-6.10/mysql-connector-net-6.10.9-noinstall.zip
    连接方式可能需要修改成这个样子,如果没有问题就可以不用改(●'◡'●)

    private static string connStr = "Data Source=localhost ; Database= jlx2022; User ID= root ; Password=123456; pooling=true ; port=3306; sslmode=none ; CharSet =utf8;allowPublicKeyRetrieval=true;";
    
    评论

报告相同问题?

问题事件

  • 创建了问题 4月4日

悬赏问题

  • ¥15 目详情-五一模拟赛详情页
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line