我使用C#与TSQL和SQL Server 2005PetaPoco存储过程错误“语法错误‘从’关键字附近。”}
我试图用PetaPoco返回一个数据集作为对象的列表。这是我使用的代码刚才
var s = PetaPoco.Sql.Builder.Append("USE [BI] EXEC [dbo].[TestProcedure2];");
var result = db.Query<dynamic>(s);
var result2 = db.Query<dynamic>("USE [BI] EXEC [dbo].[TestProcedure2];");
我认为错误消息是当petaPoco失败通用SQL错误。
起初我使用存储过程与参数和@字符导致了一个问题,一旦用@@修复我开始得到这个错误,所以我做了一个简单的选择语句的存储过程。该过程在Management Studio中完全正常执行。
在选择语句中使用PetaPoco很好,数据完全正确地映射到动态或对象模型。我创建了一个垃圾SQL字符串,它返回了同样的错误,这是我从中获取通用错误想法的地方。
这是我使用的正常工作
var dynTest =
db.Query<dynamic>(
"SELECT TOP 10 * FROM [BI].[dbo].[Managers] ORDER BY [ConsecutiveDays] desc");
不熟悉PetaPoco,但是您确定该错误不是由尝试执行“USE BI EXEC Testprocedure”作为单个查询造成的吗? – 2012-01-27 12:50:04
它在管理工作室工作,我已经改写了关于10种不同方式的查询,他们都在管理工作室工作,但在C#代码中失败。 BI数据库在使用PetaPoco时定义,但是EXEC [dbo]。[TestProcedure2]也失败 – 2012-01-27 15:24:15
对不起。我想也许管理工作室很聪明,可以将这个陈述分成两个查询。如果那不是,我没有答案。 – 2012-01-27 15:35:54