استيراد البيانات من Excel في جهاز مباحث أمن الدولة، والقيم الفارغة
سؤال
وأنا باستخدام جهاز مباحث أمن الدولة لاستيراد البيانات من ورقة Excel إلى SQL Server 2005 أو البيانات يحتوي على بعض الأعمدة مع البيانات التي يجب أن يكون قيمة الخلية غير فارغة السابقة في نفس العمود، يبدو مثل هذا:
2005 | 15 | Something1
| 12 | Something2
| 14 | Something3
2006 | 10 | Something4
| 2 | Something5
| 18 | Something6
| 15 | Something7
ويجب أن تملأ في عامي 2005 و 2006، ولكن كل ما يمكن أن تحصل عليه هو بلا قيم. يمكنني وضع قيمة هذا الحقل في متغير لو انها ليست لاغية، واستخدامها لتحل محل القيم الخالية التي تأتي بعد ذلك؟
المحلول
وسيكون لديك لاستخدام مكون البرامج النصية في تدفق البيانات وتذهب من خلال كل صف، وذلك باستخدام متغير للاحتفاظ القيمة المعروفة الماضية.
تحديث: هنا هو رمز. فعلت ذلك في VB في مباحث أمن الدولة عام 2008، لذلك قد يكون هناك بعض تحرير ما عليك القيام به (على سبيل المثال، قد تضطر إلى استخدام Dts.Variables [ "العضو :: LastYear"]. Value.ToInt32 () بدلا من Variables.LastYear --I لا أتذكر من على قمة رأسي):
Dim LastYear As Integer
Public Overrides Sub PreExecute()
MyBase.PreExecute()
LastYear = 0
End Sub
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
If Row.year_IsNull Then
Row.year = LastYear
Else
LastYear = Row.year
End If
End Sub
ونأمل أن يساعد هذا!