سؤال

وأنا أحاول أن استخدام تنفيذ SQL المهام في جهاز مباحث أمن الدولة عام 2008 لتعيين معلمة إخراج إجراء مخزن إلى متغير الحزمة.

والمتغير الحزمة SSIS نوع التاريخ والوقت والمعلمة إجراء مخزن هو نوع SQL DATETIME.

وبيان SQL هو EXEC GetCurrentDate @CurrentDate=? وفي شاشة تخطيط المعلمة، يتم تعيين المعلمة إلى متغير صفقة مع الناتج التوجيه ونوع البيانات DBTIMESTAMP محددة.

وعند تشغيل حزمة أحصل على الخطأ التالي:

<اقتباس فقرة>   

[تنفيذ المهام SQL] خطأ: تنفيذ   الاستعلام "EXEC GetCurrentDate   @ CurrentDate =؟ "فشل مع   الخطأ التالي: "نوع من   قيمة تم تعيينه إلى متغير   "العضو :: CurrentDate" يختلف عن   نوع المتغير الحالي. قد المتغيرات   لا تغيير نوع أثناء التنفيذ.   أنواع المتغيرات صارمة، باستثناء   متغيرات نوع الكائن. ". ممكن   أسباب الفشل: مشاكل مع   الاستعلام "resultset و" الملكية لم تحدد   صحيح، لم يتم تعيين المعلمات   بشكل صحيح، أو اتصال لا   أنشئت بشكل صحيح.

إذا كنت تشغيل تتبع على تدار الاستعلام أرى يجري يفترض نوع كما datetime2:

declare @p3 datetime2(7)
set @p3=NULL
exec sp_executesql N'EXEC GetCurrentDate @CurrentDate=@P1 ',N'@P1 datetime2(7) OUTPUT',@p3 output
select @p3

لا أحد يعرف لماذا هو افتراض نوع هو datetime2؟

والشكر

هل كانت مفيدة؟

المحلول

وجدت الإجابة على تقرير الشوائب Micorsoft الاتصال:

<اقتباس فقرة>   

ونحن إغلاق هذه الحالة كما هو متوقع هذا السلوك وغير ذلك نتيجة للSQL تغيير نوع التاريخ والوقت الجديد. كنت تستخدم الأصلي إدارة الاتصال OLEDB للعمل مزود، في عملية إمكانية التشغيل المتداخل COM، ونحن نستخدم VARIANT للاحتفاظ القيمة والطريقة الوحيدة لمنع فقدان البيانات لتخزين القيمة كما BSTR البديل. إذا قمت بتغيير العضو :: dateParam إلى نوع سلسلة أنها ستعمل، أو يمكنك التبديل إلى استخدام إدارة الاتصال تمكنت من تجاوز إمكانية التشغيل المتداخل COM.

http://connect.microsoft.com/SQLServer/feedback /ViewFeedback.aspx؟FeedbackID=307835

نصائح أخرى

وحاول تحديد المعلمات INOUT / الإخراج كما DATE بدلا من DBTIMESTAMP في مهمة جهاز مباحث أمن الدولة.

وهذا يعمل بالتأكيد في SSIS 2005 حزم عملت على.

وكما انه من الجدير إلقاء نظرة على الموقع هذا الرابط ، التي تغطي هذا فضلا عن زوجين من القضايا الأخرى مع جهاز مباحث أمن الدولة والتواريخ.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top