栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

大量测试数据填充数据库

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

大量测试数据填充数据库

大量测试数据填充数据库

文章目录
  • 大量测试数据填充数据库
  • TestDataBuilder
  • datafaker
    • 从本地文件meta.txt中读取元数据,构造并显示在屏幕上
      • 问题
      • 查找解决方案
        • 使用pymssql
        • 使用ODBC数据源
    • 其他问题

TestDataBuilder

TestDataBuilder是一个采用Java编写的,完全开源,免费的测试数据生成工具,图形化界面。

Readme:http://testdatabuilder.sourceforge.net/

但是先别急,这个软件有点老,最后一次更新在2013-04-11,看它的驱动:mysql版本在5.1.6,SqlServer仅支持2000~2005,相比学校的SQL Server 2008还要老。

如果愿意维护,倒是应该挺好用的。来让我们看下一个。


datafaker

datafaker是一个大批量测试数据和流测试数据生成工具,兼容python2.7和python3.4+,命令行模式。

github:https://github.com/gangly/datafaker/blob/master/doc/zh_CN/README.md

相关使用方法在github上已写,我只写下自己用的且github上没有举例的datafaker+sqlserver


从本地文件meta.txt中读取元数据,构造并显示在屏幕上 问题

连接数据库并在数据库中构造数据

datafaker rdb mssql+pyodbc://sa:123456@localhost:1433/test s 10 --meta meta.txt
参数解释
dbtype: 数据源类型, "rdb",
connect:  数据源连接信息, "mssql+pyodbc://sa:123456@localhost:1433/test",
table: 表名, "s",
num: 数据条数, "10",
meta: 元数据文件, "--meta meta.txt",
outprint: 是否在屏幕打印, "--outprint"
更多参数见命令行参数

不连接数据库,构造数据从屏幕中输出

datafaker rdb mssql+pyodbc://sa:123456@localhost:1433/test s 10 --outprint --meta meta.txt

如果参照github上的例子,我们也许会像上面第一个例子这样做(在屏幕中输出因为不连接数据库,所以可以展现构造的数据),但经实测发现,怎么也连不上,提示找不到数据源及驱动。



查找解决方案 使用pymssql

有人说pyodbc无法连接sqlserver,要用pymssql(pymssql是python的一个第三方库,是用来连接sql server数据库并对库中数据进行操作的一个工具),的确,我尝试后可以成功运行。

datafaker rdb mssql+pymssql://sa:123456@PRIMEMSSQLSERVER01/test s 10 --meta meta.txt
参数说明
connect:  数据源连接信息, "mssql+pymssql://sa:123456@PRIMEMSSQLSERVER01/test",
如下图所示,如果这里是PRIMEMSSQLSERVER01,则在@后填写这样的字段,后面加'/',再加表名

但尝试插入数据到远程数据库时插入的中文变成了乱码,不知如何解决。


使用ODBC数据源

然后一直下一步

测试成功即可

datafaker rdb mssql+pyodbc://sa:123456@MSSQLSERVER01 s 10 --meta s.txt
解释
@后面填写刚才新建的ODBC数据源的名称,我这里是"MSSQLSERVER01"
远程数据库同理,在ODBC数据源里新建一个,然后用同样的方法连接。

其他问题
  1. 在SQLServer中要设置数据库允许用户名和密码登录,允许远程连接,还可能需要在防火墙创建一个新的TCP入站规则,请自行查询。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/934374.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号