PL/SQL导出到execl中,数据前面的0发生丢失的解决办法
ERR出现的场景再现:
使用 PL/SQL导出按钮,选择‘CSV文件’,保存为1.csv,后用execl打开,复制到VuGen中作为login脚本的参数化文件username.
ERR及发现过程:
在跑login场景时,使用的参数化了用户名与密码,并且使用 random + iteration的组合方式,总会出现2-3个登录事务失败,最后在脚本中增加lr_log_message()函数输出每次的用户名,同时更改方式为 unique + iteration,先跑了10000个用户,来查看究竟是哪些用户不能正确登录,果然还是有失败的登录事务,查看用户名,发现为“1”,利用 PL/SQL 工具查询,发现在数据库中并没有username = '1'的数据,明明是导出的,就觉得很奇怪。此处尝试select的like语句,对‘1’进行搜寻,找到第5000多条数据的时候,才发现,1.csv中的数据为‘1’,而PL/SQL中显示的数据为‘001’,这才恍然大悟,不过好在找到了问题所在。
ERR分析:
csv在execl打开时,数据默认为“常规”,就将‘0’开头的数据的‘0’去除了。
ERR解决:
(1)网上提到的方法,我的并没有奏效,先记下。将文件后缀改为txt,运行excel并打开该文件。在文本导入向导第2步勾选“逗号”;第3步单击“数据预览”中的“常规”,然后点选“列数据格式”中的“文本”(依次对每个列进行操作);最后单击“完成”。
(2)我使用的方法:在PL/SQL导出时,选择‘XML文件’,保存为1.xml,之后在execl中选择"数据"——>“自其它来源”——>"来自XML数据导入",即可。