我正在使用下面的脚本来创建DTS包,它在SQL 2000上工作正常,但它在第一步失败"无法创建包..."在SQL Server 2008 R2上。如果有人知道答案,请帮忙
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE;
GO
实际查询
print 'creating a DTS package'
DECLARE @objPackage int
DECLARE @returnValue int
EXEC @returnValue = sp_OACreate 'DTS.Package', @objPackage output
IF @returnValue <> 0
BEGIN
raiserror('failed to create package returnValue = %d', 16, -1, @returnValue)
return
END
EXEC @returnValue = sp_OAMethod @objPackage, 'LoadFromStorageFile' , null,
@UncFile = @FileName, @password = null
IF @returnValue <> 0
BEGIN
raiserror('Custom Error fileName = %s , description = %s', 16, -1, @FileName, @Description)
raiserror('failed to load package returnValue = %d, package = %s', 16, -1, @returnValue, @PackageName)
return
END
EXEC @returnValue = sp_OAMethod @objPackage, 'SaveToSQLServerAs' , null,
@NewName = @PackageName, @ServerName = @@ServerName, @Flags = 256
IF @returnValue <> 0
BEGIN
raiserror('failed to save to SQL server returnValue = %d, package = %s', 16, -1, @returnValue, @PackageName)
return
END
答案 0 :(得分:1)
SQl Server 2008不使用DTS pacakages。您应该创建SSIS包。
Therre是在SQl Server 2008中使用DTS的一些可用性,m,但它并非出自teh box。在任何情况下,我都不会使用它来创建新的DTS pacakages,但只能管理现有的,直到它们可以转换为SSIS。我们的政策是,每当我们不得不对DTS pacakge进行更改时,我们都会对其进行转换。但是下面的链接可以帮助您找到需要在SQL Server 2008中使用DTS的技术。
http://msdn.microsoft.com/en-us/library/ms143755(v=sql.105).aspx