إذا كان موجودًا (اختر * من dbo.sysobjects حيث id = object_id(N'[dbo].[s_LoadPackageToServer]') وOBJECTPROPERTY(id, N'IsProcedure') = 1)
إجراء الإفلات [dbo].[s_LoadPackageToServer]
اذهب
إلى إنشاء الإجراء s_LoadPackageToServer
@ اسم الحزمة فارتشار (128) ،
@اسم الملف varchar(500) ،
@اسم المستخدم فارشار (100) ،
@كلمة المرور فارتشار(100)
مثل
/*
exec s_LoadPackageToServer
@PackageName = 'mypackage'،
@FileName = 'c:dtspckgsmypackage.dts' ,
@اسم المستخدم = 'sa'،
@كلمة المرور = 'pwd'
*/
أعلن @objPackage int
أعلن @rc int
exec @rc = sp_OACreate 'DTS.Package'، إخراجobjPackage
إذا @rc <> 0
يبدأ
riserror('فشل في إنشاء الحزمة rc = %d', 16, -1, @rc)
يعود
نهاية
exec @rc = sp_OAMethod @objPackage, 'LoadFromStorageFile' , null,
@UncFile = @FileName، @password = null
إذا @rc <> 0
يبدأ
riserror('فشل تحميل الحزمة rc = %d، الحزمة = %s'، 16، -1، @rc، @PackageName)
يعود
نهاية
exec @rc = sp_OAMethod @objPackage, 'SaveToSQLServerAs' , null,
@NewName = @PackageName، @ServerName = @@ServerName، @ServerUserName = @Username، @ServerPassword = @Password
إذا @rc <> 0
يبدأ
riserror('فشل تحميل الحزمة rc = %d، الحزمة = %s'، 16، -1، @rc، @PackageName)
يعود
نهاية
يذهب
exec s_LoadPackageToServer
"حزمتي" ،
'c:DTS_AN2CP_DIC.dts' ,
"سا" ،
'sa'