Jmeter测试oracle

oracle解析sql非常严谨,一定要注意sql的格式

场景说明:jmeter连接oracle,执行insert values语句,初始jmx脚本内容如下:
```
<stringProp name="query">insert into test values(&apos;${PRO}&apos;,&apos;${SATE}&apos;,&apos;${Ccc}&apos;,&apos;${BRO}&apos;,&apos;${STARTTIME}&apos;,&apos;${PR}&apos;,&apos;${IMA}&apos;,&apos;${GE}&apos;,&apos;${YAW}&apos;,&apos;${TLDE}&apos;,&apos;${TLLE}&apos;,&apos;${TRLE}&apos;,&apos;${TRUDE}&apos;,&apos;${BUDE}&apos;,&apos;${BITUDE}&apos;,&apos;${TUDE}&apos;,&apos;${BDE}&apos;,&apos;${STATE}&apos;,&apos;${NC}&apos;);
</stringProp>
```
1. 报错信息1:SQLSyntaxErrorException: ORA-00933: SQL 命令未正确结束
- 原因:jmx文件的insert语句结尾多了一行空格,</stringProp>是另起一行的,需要把换行符去掉


2. 报错信息2:SQLDataException: ORA-01861: 文字与格式字符串不匹配
- 原因:表中含有date类型,不能直接insert日期值,需要用to_date函数

3. 报错信息3:缺少逗号
- 原因分析:to_date函数前面增加了单引号,oracle解析出错,需要去掉
4. 执行通过的jmx脚本格式如下:
```
<stringProp name="query">insert into test values(&apos;${c}&apos;,&apos;${D}&apos;,&apos;${NT}&apos;,&apos;$MG}&apos;,to_date(&apos;${STARTTIME}&apos;,&apos;yyyy-mm-dd hh24:mi:ss&apos;),&apos;${PR}&apos;,&apos;${D}&apos;,&apos;${KT}&apos;,&apos;${YAW}&apos;,&apos;${TE}&apos;,&apos;${UDE}&apos;,&apos;${TDE}&apos;,&apos;${E}&apos;,&apos;${DE}&apos;,&apos;${BRL}&apos;,&apos;${BE}&apos;,&apos;${TUDE}&apos;,&apos;${STATE}&apos;,&apos;${ISSYNC}&apos;)</stringProp>
```

努力做一个爱学习并且会学习的技术人。
原文地址:https://www.cnblogs.com/learner34/p/10821109.html