2012-06-04 45 views
0

我正在使用支持数据库验证的Robot Framework数据库库。如何在临时sql服务器上使用Robot Framework的数据库库

我试图执行此基本命令:

***Variables*** 
***Settings*** 
Suite Setup 
Suite Teardown 
Test Setup 
Test Teardown 
Library DatabaseLibrary 
***Testcases*** 
UC_DB_Validation 

要连接到数据库我使用:

dbapiModuleName=Mysqldb dbName='bigetestsrv' dbUsername='ravitest' dbPassword='welcome' dbHost='10.73.92.18' 

当使用pybot运行从命令提示符下连接字符串,我得到以下错误:

"No Module Named as Mysqldb" 

我正在使用具有有效凭据的Query Express,并且执行n我的机器上没有安装Sql Server。

如何连接到我的数据库?

+0

如果其他人在通过DatabaseLibrary连接到SQL Server时遇到问题:我在DatabaseLibrary中使用了pyodbc模块。连接到现代版本的SQL Server时,DatabaseLibrary“连接到数据库”关键字不适用于pyodbc,可能是因为DatabaseLibrary指定了非常旧的“SQL Server”ODBC驱动程序而不是更现代的驱动程序。因此请使用“使用自定义参数连接到数据库”关键字。但是,有一个问题:您必须用引号括起第二个指定连接字符串的参数,以使其起作用。 –

回答

2

我.....

我是在一个错误的方式 数据库库(Apache许可证)从 接近http://franz-see.github.com/Robotframework-Database-Library/我使用的是目前仅使用psycopg2测试postgresql,它可能会或可能不会与其他RDBMS一起使用。 所以我试图连接pymssql数据库,这是由defualt支持,它的工作。

我用 连接数据库使用自订参数pymssql“DBNAME”,“用户名”,“密码”,“主机”

作为先决条件,我需要从 安装Pymssql(GNU宽通用公共许可证) http://pymssql.sourceforge.net/license.php

感谢

-2
import pymysql.cursors 

def Delete_Fund(fundName): 
    connection = pymysql.connect(host='ip', 
          user='root', 
          password='mysql', 
          port=3306, 
          database='novobank_auto', 
          cursorclass=pymysql.cursors.DictCursor) 
    try: 
     with connection.cursor() as cursor: 
      sql1 = "SET @fundName = '" + fundName + "';" 
      cursor.execute(sql1) 
      sql2 = "DELETE FROM `m_fund` WHERE `name` = @fundName;" 
      cursor.execute(sql2) 
      connection.commit() 
      print("Fund : "+fundName+" has been Deleted") 
    finally: 
     connection.close() 

Delete_Fund("FUND001") 
+0

这似乎与“No Module Name as mysqldb”错误没有任何关系。 –

1

相反的:

dbapiModuleName=Mysqldb 

用途:

dbapiModuleName=PyMySQL 

此外,请确保PyMySQL模块使用pip命令安装在您的机器。

相关问题