外部数据导入新增MySql数据库
由于前方项目需求,之前参与的工程中可以导入外部数据,进行数据分析,目前已经支持的数据库包括oracle、Hive、Postgre,周一组会经过讨论,需要新增Mysql数据库,下面就来梳理一下这两天所做的事情。 既然要测试外部数据库,肯定需要在linux上安装Mysql了,我的Linux是RedHat,首先在上面安装Mysql数据库。 首先打开mysql官网: 下载指定版本的数据库包 安装mysql 1.如果之前已经安装过别的版本的mysql,可以先行卸载以前安装过的mysql文件
2.然后,把我们刚才下载的数据包上传并解压文件 上传我们用的是xshell的ftp文件传输,然后进行解压
3.安装对应的包(必须按照顺序)
4.启动mysql
5.获取mysql初始化密码
6.修改mysql密码
7.数据库查看编码
发现字符编码有latin1 8.修改/etc/my.cnf (默认在这个目录)
9.重启mysql
修改成功! 最后,赋予任何主机访问数据的权限
设计架构 主要函数和功能点 数据库连接测试功能 调用函数TestConn,Bool型,使用MysqlConnection实例化一个新对象进行测试连接,测试连接超时设置为8000毫秒。 SQL执行函数功能 完成函数Query,使用 MysqlCommand进行操作,该对象有影响行数的属性,可以用来判断是否执行成功。使用MysqlDataReader储存返回的结果。因为有大文件的存在,故不设置连接超时。 获取数据库名功能 重写接口函数GetUserSQL 查询表名功能 继承函数GetTables,重写接口函数GetTablesSQL 表内容获取功能 继承函数GetTableContentString和GetTableContent,重写接口函数GetTableContentSQl函数。 表结构获取功能 继承函数GetTableColumnNames,重写接口函数GetColNameByTableSQL。 预览表结构功能 继承函数FillDGVWithTbSchema,重写接口函数GetColNameByTableSQL。 预览表内容功能 继承函数FillDGVWithTbContent,重写接口函数GetTableContentSQL。 算子计算结果生成功能 重写ExecuteSQL函数。使用while循环切换行,for循环切换列来读取query返回的datareader中的数据,手动添加换行符并加入到StringBuilder中,每一行读取完成后都使用writeline写入数据流的缓冲区中一次,在最后一行数据写入缓冲区后调用close方法清除缓冲区并一次性将所有数据写入文件中。 保存文件地址为结果挂件的FilePath属性。 持久化功能 在左侧面板添加数据库连接时调用GenLinkButton函数。通过修改LinkButton的属性来使用mysql的图标。 SQL算子执行SQL语句功能 继承函数FillDGVWithSQLmssql数据库导入,调用Query函数进行SQL语句执行。 SQL算子一键查询功能 直接沿用原有SQL语句,无需修改 SQL算子结果挂件图表生成 直接读取【算子计算结果生成功能】中生成的运行结果文件,无需再次查询。 代码部分 涉及私密,就不贴出来了,有需求的小伙伴可以一起交流。 总结 由于之前不怎么熟悉数据库导入的一些步骤,比如需要添加MySql.Data.dll连接数据库,还有就是SQL语句对information_schema 数据库的调用,才能实现对表、列、数据库的统一调用。 参考文献 (编辑:好传媒网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |