首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从TST (SQL自动化工具)执行远程存储过程

无法从TST (SQL自动化工具)执行远程存储过程
EN

Stack Overflow用户
提问于 2011-11-25 17:04:15
回答 2查看 2.5K关注 0票数 1

我目前正在研究TST (SQL自动化测试工具),它将方便数据库回归测试。我已经创建了一个基本的测试用例,如下所示:

代码语言:javascript
复制
/* 
    Verification of stored proc - FOH_Status
    Returns online availabity status for specified date
*/
/****** Object:  StoredProcedure [dbo].[SQLTest_Status]    Script Date:      11/23/2011 16:56:00 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE dbo.SQLTest_Status
AS
BEGIN
    ---CREATE A TEMP TABLE
    CREATE TABLE #ControlValue (
        ControlMode TINYINT
    )

    INSERT INTO #ControlValue EXEC dbo.Status 17254, 3 ,'2011-11-20   00:00:00' 
    DECLARE @CONTROL TINYINT
    SET @CONTROL = (SELECT TOP 1* FROM #ControlValue)

    EXEC TST.Assert.Equals 'ControlMode enabled for specified date', 1, @CONTRO
END 
GO      

然后,我继续链接到我们的QA SQL server,这是成功的。然后修改存储过程以调用QA SQL服务器上的存储过程:

代码语言:javascript
复制
INSERT INTO #ControlValue EXEC [X.X.X.X].databasename.dbo.Status 17254, 3 ,'2011-11-20 00:00:00' 

在从TST运行测试时,runner将使用DTC事务失败消息失败:

OLE DB提供程序"SQLNCLI10“用于链接服务器”X.X“返回消息”事务管理器已禁用其对远程/网络事务的支持“。 错误: 7391,操作无法执行,因为OLE DB提供程序"SQLNCLI10“用于链接服务器”X.X“无法开始分布式事务。

我已经确认MS将允许在QA SQL服务器上进行远程连接、入站和出站调用。

此外,在查询窗口中运行存储过程并返回正确的结果集。

代码语言:javascript
复制
EXEC [X.X.X.X].databasename.dbo.Status 17254, 3 ,'2011-11-20 00:00:00' 

对于如何纠正这一问题,有什么想法吗?

我是否应该修改查询以包含事务,因为返回的错误包括‘无法开始分布式事务’

EN

回答 2

Stack Overflow用户

发布于 2011-11-25 23:45:47

你试过用Server 2008中链接服务器的分布式事务问题描述的每一步吗?

票数 1
EN

Stack Overflow用户

发布于 2011-11-27 01:02:33

我感兴趣的是,您正在使用Server单元测试框架。在release,我们正在对这些工具的使用进行一些研究,我们希望能够很快在SSMS中发布一个图形化的单元测试运行程序。见www.sql-test.com。这个工具构建在tSQLt开源框架上。这是你遇到的吗?

您是否有兴趣通过对您的单元测试需求提供反馈来帮助我们?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8272213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档