2015-06-12 22 views
8

İki değişkeni ayarlamak/ayarlamak için SSIS içinde bir "İfade Görevini" kullanmaya çalışıyorum. Ben ifadeleri ayırmak için nasıl bilmiyorum çünkü bu görünüşte basit bir iş beni deli tahrik etti:İki değişken atanan SSIS İfadeleri

bir ayrıştırma hatası verir ve ben boşuna belgelerin oldukça çok baştan sona kadar okuduktan
@[User::testVariable]="1" 
@[User::testVar2]=3 

. Nasıl ifadeleri ayrılmış ve sana

bir anda
+1

Çok sayıda değişken ayarlamanız gerekiyorsa, bir komut dosyası görevi kullanırdım. –

+1

Yorum için teşekkürler: ama aynı şey değiller. Bir Komut Dosyası Görevinde, görevi parametreleştirme seçeneğiniz yoktur, bu yüzden statiktir. Değişkenlerimi parametrelere atadım ve bu yüzden SSIS seviyesinde ayarlayabilmem gerekiyor. – LearnByReading

+0

"Görevin parametrelendirilmesi" ile ne kastettiğinizden emin değil misiniz? Bu forumda nasıl yapılacağını size söyleyenleri yapamayacağınız anlamına mı geliyor ?: https://social.msdn.microsoft.com/forums/sqlserver/tr-US/8fd1335a-783f-455e-9853-f366f0957b1b/nasıl-nasıl-kullanım-parametreleri-in-a-script-görev –

cevap

15

yapabilirsiniz sadece set 1 değişken ederiz ... Ben değişkenler çok şey var çünkü birden fazla ifade görevi kullanmak zorunda kalmayız gibidir:

Çalışma sırasında bir değişkenin değerini değiştirmek için ifadesine veya Komut Dosyası Görevine ihtiyacınız vardır. İfade çok esnek değildir ve Komut Dosyası Görevi gerektirir. Net bilgisi. Bu nedenle, Microsoft , SSIS 2012'de Expression Görevini tanıttı. Çalışma sırasında bir değişkenin değerini ayarlamanıza olanak tanır. Downside, 2008 için numarası olmaması ve numaralı seferde yalnızca bir değişken ayarlayabilmenizdir.

http://microsoft-ssis.blogspot.com/2013/07/custom-ssis-component-multiple.html

Sen linke sağlanan özelleştirilmiş Multiple Expressions Task bileşeni indirmek veya her değişken için bir Expression Task yapmak zorunda kalacak

. insanlara yararlı olabilir Geçenlerde yapmaya başladım

+2

Bu En İyi Cevap - bu bana ve diğer birçok kişiye yardım etmesine rağmen bu kadar uzun sürdüğüne inanamıyorum. – LearnByReading

4

şey,:

Aksine birden İfade Görevler veya kod görev ya kurma zorluğu gitmek zorunda kalmak yerine, bunu çoğunlukla mümkündür fark ettik işi yapmak için bir SQL Görev yürütme kullanmak. SQL gerekli bağlandığınız veritabanına bağlı olarak biraz değişebilir, örneğim SQL Server'a dayanmaktadır.

Örneğim, değişkenleri parametrelerden başlatmaya dayanıyor, ancak bu durum farklı durumlar için düzeltilebilir. bunlar dan değere gerek parametreleri veya değişkenlerdir -

Adım 1

parametreleri kabul eden bir sorgu oluşturun. Elbette bunu bir değişkeni 0 olarak başlatmak veya birkaç parametrede veya değişkente bazı aritmetik yapmak için kullanabilirsiniz.

Sonuç Ayarı için Tek satırlık seçeneğini kullanın. 2

General Tab

Adım herzamanki gibi parametre eşleşmesi oluşturma. 3

Parameter Mapping Tab

Adım senin sonuç kümesini kurun.


Result Set Tab

Ben buna olumsuz bunu yapmak için bir veritabanına bağlanıyorsanız olduğunu tahmin - ama sen SSIS yüklü, o zaman söz konusu sunucuda bir SQL Server örneğini var - bu yüzden Bunun bir dezavantajı olduğundan emin değilim.

Bunu bir Komut Dosyası Görevi yerine YMMV'den daha az bir sorun buluyorum.

+0

, bunu bir danışmandan öğrendiğimin tam anlamıyla bunu nasıl önerdiğin komik! Bu yöntemin çalıştığını onaylıyorum, ancak diğer yöntemlerden daha az/verimli olup olmadığından emin değilim. Cevap verdiğiniz için çok teşekkür ederim – LearnByReading