s'il existe (sélectionnez * dans dbo.sysobjects où id = object_id(N'[dbo].[s_LoadPackageToServer]') et OBJECTPROPERTY(id, N'IsProcedure') = 1)
supprimer la procédure [dbo].[s_LoadPackageToServer]
GO
Créer une procédure s_LoadPackageToServer
@PackageName varchar(128) ,
@FileName varchar(500) ,
@Nom d'utilisateur varchar(100) ,
@Mot de passe varchar(100)
comme
/*
exec s_LoadPackageToServer
@PackageName = 'monpaquet' ,
@FileName = 'c:dtspckgsmypackage.dts' ,
@Nom d'utilisateur = 'sa' ,
@Mot de passe = 'pwd'
*/
déclarer @objPackage int
déclarer @rc int
exec @rc = sp_OACreate 'DTS.Package', sortie @objPackage
si @rc <> 0
commencer
raiserror('échec de la création du package rc = %d', 16, -1, @rc)
retour
end
exec @rc = sp_OAMethod @objPackage, 'LoadFromStorageFile' , null,
@UncFile = @FileName, @password = null
si @rc <> 0
commencer
raiserror('échec du chargement du package rc = %d, package = %s', 16, -1, @rc, @PackageName)
retour
fin
exec @rc = sp_OAMethod @objPackage, 'SaveToSQLServerAs' , null,
@NewName = @PackageName, @ServerName = @@ServerName, @ServerUserName = @Username, @ServerPassword = @Password
si @rc <> 0
commencer
raiserror('échec du chargement du package rc = %d, package = %s', 16, -1, @rc, @PackageName)
retour
fin
aller
exec s_LoadPackageToServer
'mon colis' ,
'c:DTS_AN2CP_DIC.dts' ,
'c'est',
'sa'