大量测试数据填充数据库

大量测试数据填充数据库

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

请添加图片描述

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


使用ODBC数据源

请添加图片描述

请添加图片描述

请添加图片描述

然后一直下一步

请添加图片描述

测试成功即可

请添加图片描述

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

其他问题

  1. 在SQLServer中要设置数据库允许用户名和密码登录,允许远程连接,还可能需要在防火墙创建一个新的TCP入站规则,请自行查询。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值