我有一个存储过程,其中我没有使用任何与事务相关的显式代码(即begin/rollback/commit transaction),但是@@Trancount被设置为2 (在存储过程中,我通过将此值写入表的行条目来监视它)。这显然意味着IMPLICIT_TRANSACTIONS在某个地方被设置为ON。
我将以下几行添加到我的存储过程的开头...
SET IMPLICIT_TRANSACTIONS OFF
GO
……所以它变成了这样:
USE [RentTrackingSystem]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET I
我希望使用事务在SQL Server2008R2存储过程中设置SET XACT_ABORT ON,因此在创建脚本中进行设置:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET XACT_ABORT ON
GO
CREATE PROCEDURE MyProc
AS
BEGIN TRAN
...
IF @@ERROR <> 0
BEGIN
GOTO Done
END
...
IF @@ERROR <> 0
BEGIN
GOTO Done
END
COMMIT TRAN
我有一个在MySQL数据库中调用存储过程的方法:
public DataTable ExecuteSP_ReturnDataTable(DynamicGridAction pAction)
{
DataTable ret = new DataTable();
MySqlCommand wCmd = new MySqlCommand();
try
{
wCmd = new MySqlCommand(pAction.SPName);
我有一个向Azure IoT集线器发送遥测消息的IoT设备。该消息没有任何内容类型的属性。我将收到的IoT遥测消息保存在blob中,发现集线器将它们保存为content type = application/octet-stream,但我希望将它们保存为content type = application/json。由于我无法修改设备和消息结构,是否有办法设置IoT集线器、路由规则或blob存储本身,以强制内容类型为应用程序/json?
我的集线器自定义存储端点的屏幕截图,将设置编码为JSON。