51Testing软件测试论坛

标题: 想用LR编写一段程序连接MYSQL数据库并删除库中数据 [打印本页]

作者: lunahaha527    时间: 2014-11-12 13:40
标题: 想用LR编写一段程序连接MYSQL数据库并删除库中数据
想用LR编写一段程序连接MYSQL数据库并删除库中数据
如下,但运行时,显示未发现源
Action.c(248): Error: DB Connection failed {"ERROR [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序"}

lr_db_connect("StepName=Connect",
         "ConnectionString=DRIVER={MySQL ODBC 5.5 Driver};SERVER=192.168.1.xORT=3306;DATABASE=xxx;USER=xxxASSWORD=xxx;OPTION=3",
               "ConnectionName=db1",
               "ConnectionType=ODBC",
          LAST);
lr_start_transaction("SQL");

lr_db_executeSQLStatement("StepName=deletedatas",
                   "ConnectionName=db1",
                                   "SQLStatement=select * from xxx ",
                   "DatasetName=MyDataset",                                           LAST);  

  lr_end_transaction("SQL",LR_AUTO);

  lr_db_disconnect("StepName=Disconnect",
           "ConnectionName=db1",
           LAST);
作者: lunahaha527    时间: 2014-11-12 14:25
由于我的LR运行的机子是WIN7的,我从ORACLE官网下载了mysql-connector-odbc-5.3.4-winx64.msi
并且安装,添加了用户DSN和系统DSN。测试都可以连接。但是用LR一跑脚本要么提醒连接不上,要么 LR就挂了
作者: lunahaha527    时间: 2014-11-12 14:28
附张我的的配置图!
作者: lunahaha527    时间: 2014-11-12 14:34
ion.c(248): DB Connection "Connect" started ... Wait ....
Action.c(248): Error: DB Connection failed {"ERROR [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序"}
Action.c(248): Error: DB Connection failed {"Connect"}
Action.c(248): Error: C interpreter run time error: Action.c (248):  Error -- memory violation : Exception ACCESS_VIOLATION received.
Action.c(248): Notify: CCI trace: Action.c(248): lr_db_connect(0x065a0874 "StepName=Connect", 0x065a07f7 "ConnectionString=DRIVER={MySQL ODBC 3.51...", 0x065a07e4 "ConnectionName=db1", 0x065a07d0 "ConnectionType=ODBC", 0x065a1100 "LAST")
.
Action.c(248): Notify: CCI trace: Compil
作者: lunahaha527    时间: 2014-11-12 14:37
lunahaha527 发表于 2014-11-12 14:34
ion.c(248): DB Connection "Connect" started ... Wait ....
Action.c(248): Error: DB Connection faile ...

担心是DRIVER的版本不对,换成了5.3
看网上说有人又装了WIN32位的,还是不行
作者: lunahaha527    时间: 2014-11-12 14:40
lunahaha527 发表于 2014-11-12 14:37
担心是DRIVER的版本不对,换成了5.3
看网上说有人又装了WIN32位的,还是不行

LR挂的图
作者: lunahaha527    时间: 2014-11-13 13:23
没人知道这个问题吗?
作者: lunahaha527    时间: 2014-11-20 16:55
http://bbs.51testing.com/thread-1036278-1-1.html
各位高手,能不能帮忙看看这个贴子呢。我的还没搞定。连接的是MYSQL
作者: lunahaha527    时间: 2014-11-24 10:36
现在根据土土的豆豆版主建议,采用直接连接数据源的方式。
一、通过向导方式:
1.录制完脚本,选择要参数化的数值,右键点 Replace
2.选properties...,进入页面后,选 data wizard
3.specify SQL statement manually,下一步
4.点 create,然后 “新建”,此时出现创建新数据源的页面
5.选择 SQL Server,下一步,点“浏览”,创建文件并选择存放路径;下一步 — 完成。
6.出现“创建SQL SERVER”的数据源,描述可以不写,服务器写要连接的机器的IP.(下拉框自动扫描所在局域网内的所有IP)下一步,选“试用用户输入登陆ID和密码的验证”,下面写登录名和密码,SQL server默认都是SA
7. 更改默认数据库(要连接的数据库),下一步 — 完成。
8.测试数据源,成功~
9.回到DATA WIZARD,选择刚创建的DSN文件,连接数据库成功后,在SQL statementL里写入查询语句,查询结构就自动写入啦。

DSN创建成功并测试通过。但在第9步时,发现无法选择已经创建成功的DSN啊。哪位高手指点下。不管是直接向导方式,还是代码方式,都不能连接。有没有高手指导啊???



作者: 云层    时间: 2014-11-24 11:59
mysql不支持odbc,你要再装个myodbc才行
作者: lunahaha527    时间: 2014-11-24 12:53
mysql-connector-odbc-5.3.4-winx64.msi
作者: lunahaha527    时间: 2014-11-24 12:53
这个我已经装过了,并且直接用WIN中的ODBC测试可以连接成功啊?
作者: neijiangwlz    时间: 2016-1-25 13:03
本帖最后由 neijiangwlz 于 2016-1-25 13:09 编辑

我的也遇到 这种问题了


lr_db_connect("StepName=databaseConnect",
                  "ConnectionString=DRIVER={MySql ODBC 5.3 Driver};SERVER=localhostORT=3306;DATABASE=*****;USER=rootASSWORD=******;OPTION=3",
                   "ConnectionName=mysql",
                   "ConnectionType=ODBC",
                   LAST);//连接数据库



Action.c(11): 错误: C 解释器运行时错误: Action.c (11):  Error -- Unresolved symbol : lr_db_connect。

作者: neijiangwlz    时间: 2016-1-25 13:07
正在开始操作 Action。
Action.c(11): 错误: C 解释器运行时错误: Action.c (11):  Error -- Unresolved symbol : lr_db_connect。
lr_db_connect("StepName=databaseConnect",
                                  "ConnectionString=DRIVER={MySql ODBC 5.3 Driver};SERVER=localhostORT=3306;DATABASE=*****;USER=rootASSWORD=*****;OPTION=3",
                                   "ConnectionName=mysql",
                                   "ConnectionType=ODBC",
                                   LAST);//连接数据库
作者: zp8800    时间: 2016-1-26 10:11
楼上的问题解决了吗?

我也想学习一下。谁能给贴个完整的脚本啊
作者: zp8800    时间: 2016-1-26 10:15
"StepName=testdataconn"  --> testdataconn 是任意命名的吗?
SERVER=IP Address --> MYSQL 服务器IP 对吧
“ConnectionName=mysql” --> 这个值一定是mysql吗?

请高人帮忙讲解一下
作者: yuanwq    时间: 2016-3-2 16:40
我用的win7 32位的,下载安装了mysql-connector-odbc-3.51.30-win32.msi(官网下载)。
    lr_db_connect("StepName=DatabaseConnection",
                  "ConnectionString=Driver={MySQL ODBC 3.51 Driver};SERVER=172.16.1.21ORT=3306;DATABASE=test;USER=rootASSWORD=test@;OPTION=3;",
                  "ConnectionName=InvDatabaseConnection",
                  "ConnectionType=ODBC",
                  LAST);
NumRows = lr_db_executeSQLStatement("StepName=PerformQuery",
                                          "ConnectionName=InvDatabaseConnection",
                                          "SQLStatement=SELECT * from user ",  
                                          "DatasetName=MyDataset",
                                          LAST);
可以连接成功,执行。
作者: fhhh_eyou    时间: 2016-4-11 15:04
在数据源中写一条语句进行删除。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2