ورود

View Full Version : ایجاد DTS پارامتریک



mrs Izadi
شنبه 09 خرداد 1388, 09:59 صبح
سلام
چگونه میتوانیم یک DTS با Query پارامتریک ایجاد کنیم.
من در مورد این مطلب جستجو کردم و به این پست برخوردم http://www.barnamenevis.org/forum/showthread.php?t=60994
اما ممکن است توضیح بدهید این Variable کجا تعریف میشود؟ جزء Task ها که نیست.
همچنین در مورد DTSRUN.EXE هم توضیح بفرمایید. برای من اصلا آشنا نیست.
در ضمن من از SQL2000 استفاده میکنم و قصد دارم DTS را در محیط C# اجرا کنم.

mrs Izadi
یک شنبه 10 خرداد 1388, 10:57 صبح
دوستان کسی نمیتونه کمک کنه؟؟؟؟؟؟؟
اگر طبق چیزی که در پست مورد اشاره من گفته از global variable استفاده کنیم چگونه این متغیر را به Query مورد نظرمان انتساب بدهیم؟؟؟؟
من از این DTS برای عمل Import از یک بانک به بانک دیگری استفاده میکنم اگر راه حل دیگری به ذهنتون میرسه لطفا راهنمایی کنید.

Elham_gh
دوشنبه 11 خرداد 1388, 16:46 عصر
برای اینکه چطور بخوای یک DTS پارامتری داشته باشی اینجا رو مطالعه کن.

http://www.devguru.com/features/tutorials/DTS/DTS3.asp


چند سال برای یک پروژه اینکارو انجام دادم. این روتین فراخوانی همون DTS است. فکر کنم مطالعه اش کمک کنه.


CREATE PROCEDURE dbo.dtsPayRoll
-- Path And Name of Files
@Personel VARCHAR(50),
@working VARCHAR(50) ,
@pd VARCHAR(50),
@loan VARCHAR(50),
@jobplace VARCHAR(50)
--with encryption
as

SET NOCOUNT ON

DECLARE @pkg int, @rc int

--Create an instance of a DTS package
exec @rc = sp_OACreate 'DTS.Package', @pkg output

--Load the baby up
exec @rc = sp_OAMethod @pkg
,'LoadFromSQLServer'
,null
,@Servername = "(local)"
,@Flags =0
,@PackageName = "dtsPayRoll"
,@ServerUserName='sa'
,@ServerPassword='sa'

exec @rc = sp_OASetProperty @pkg
,'GlobalVariables ("gpersonel").Value'
,@Personel

exec @rc = sp_OASetProperty @pkg
,'GlobalVariables ("gworking").Value'
,@working

exec @rc = sp_OASetProperty @pkg
,'GlobalVariables ("gpd").Value'
,@pd

exec @rc = sp_OASetProperty @pkg
,'GlobalVariables ("gloan").Value'
,@loan


exec @rc = sp_OASetProperty @pkg
,'GlobalVariables ("gjobplace").Value'
,@jobplace

--do it
exec sp_OAMethod @pkg
,'Execute'

--destroy the instance
exec sp_OADestroy @pkg
GO

mrs Izadi
شنبه 16 خرداد 1388, 14:05 عصر
سلام
از پاسختان ممنوع اما من با یک مشکل جدید روبه رو شدم.من از Execute Task برای حذف اطلاعات یک جدول استفاده میکنم . این جدول با جدول دیگر ارتباط داره که شرط حذف دراین جدول قرارداره من کوئری را به این صورت نوشتم

DELETE FROM LabBill
WHERE (RecipeIdentity IN
(SELECT RecipeIdentity
FROM LabRecipe
WHERE RegDate <= ?))
اما با پیغام خطا روبه رو شدم که ضمیمه میکنم. راه حل شما برای حل این مشکل چیه؟