While @@Fetch_Status = 0
Begin
INSERT INTO [server].MyDatabase.dbo.Mytabletobeinserted (
UPC,
Sale_date)
VALUES(
@UPC,
@Sale_date)
'Inserting the error trapping here'
IF (@@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION;
RETURN;
END
Update t_sale_from_pos
set been_sent = 'y'
where UPC = @UPC and sale_date=@sale_date
Fetch Next from CursorSale
into
@UPC,
@Sale_date
end
close CursorSale
deallocate CursorSale
Run Code Online (Sandbox Code Playgroud)
此存储过程每天都使用调度程序运行,并且数据通过网络传递.当此存储过程执行时,然后沿着执行过程突然出现网络超时.这将执行每一行以通过网络发送到其他服务器.
需要一些建议.谢谢
我制作了一个 SSIS 包,可以将数据导出到 msaccess。如果我尝试在其解决方案项目上运行该包,它将执行而不会出现错误。但是当我在程序中调用该包时,我会收到错误
无法加载文件或程序集“Microsoft.SqlServer.DTSRuntimeWrap,Version=10.0.0.0,Culture=neutral,PublicKeyToken=89845dcd8080cc91”。该程序集是为不同的处理器编译的。
这是我的代码:
public void RunPackage()
{
textstring("Locating Package...");
m_worker2.ReportProgress(20);
string PkgLocation;
Package pkg;
Microsoft.SqlServer.Dts.Runtime.Application _app = new Microsoft.SqlServer.Dts.Runtime.Application(); --> I got an exception here.
DTSExecResult pkgResult;
PkgLocation = Properties.Settings.Default.PackageLoc + "\"Package1.dtsx";
textstring("Loading Package...");
m_worker2.ReportProgress(30);
pkg = _app.LoadPackage(PkgLocation, null);
textstring("Executing Package...");
m_worker2.ReportProgress(30);
pkgResult = pkg.Execute();
textstring("Finished...");
m_worker2.ReportProgress(30);
textstring(pkgResult.ToString());
m_worker2.ReportProgress(30);
}
Run Code Online (Sandbox Code Playgroud)
谁能指出我正确的方法。我不知道这个错误是什么意思。请赐教?
我有两个表名种子和系统.在Seed表中,我的这个列名称是recetid,数据类型是nvarchar,而在系统表中,我有一个LastOR列.在lastOR列中,我想用这个"00000000001"更新LastOR值,种子表将增加到2,依此类推.我怎样才能实现这种格式?
LastOR 0000000001
SeedTable 1