如何在临时 sql server 上使用带有 Robot Framework 的数据库库

Posted

技术标签:

【中文标题】如何在临时 sql server 上使用带有 Robot Framework 的数据库库【英文标题】:How to use database library with Robot Framework on temporary sql server 【发布时间】:2012-06-08 14:19:33 【问题描述】:

我正在使用支持数据库验证的 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,但我的计算机中没有安装 Sql Server。

如何连接到我的数据库?

【问题讨论】:

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

我明白了……

我走错路了 数据库库(Apache 许可证)来自 http://franz-see.github.com/Robotframework-Database-Library/ 我目前使用的仅在使用 psycopg2 的 postgresql 上进行了测试,它可能与其他 RDBMS 一起使用也可能不使用。 所以我尝试连接pymssql db,它支持bydefualt并且它工作。

我用过 使用自定义参数 pymssql 'dbname', 'username', 'password', 'host' 连接到数据库

作为先决条件,我需要从 http://pymssql.sourceforge.net/license.php

谢谢

【讨论】:

【参考方案2】:

而不是:

dbapiModuleName=Mysqldb

使用:

dbapiModuleName=PyMySQL

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

【讨论】:

以上是关于如何在临时 sql server 上使用带有 Robot Framework 的数据库库的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server,临时表,SELECT 语句不起作用

如何在带有 LINQ to SQL 的存储过程中使用临时表

如何在 SQL Server 中使用 Create 语句创建临时表?

如何查看sql server中代码创建的临时表?

SQL server2008 临时表tempdb如何自动释放存储空间

我啥时候应该在 sql server 中使用表变量和临时表?