Parametreleri ve dönüş kodları'çalışan sql görev Yürüt
Sık kullandığınız sql ifadelerini ve saklı yordamlar inputparametreleri, outputparametreleri ve dönüş kodları. De Integration Services, sql Yürüt görev destekler Input, Output, ve ReturnValueparametre türleri. Kullandığınız Inputtürü için giriş parametreleri, Outputçıkış parametreleri, ve ReturnValuedönüş kodları.
[!NOT]
Sadece onları veri sağlayıcısı destekliyorsa, sql Yürüt görev parametrelerinde kullanabilirsiniz.
Parametre sorguları ve saklı yordamlar, sql komutları, bir üst kapsayıcı sql Yürüt görev kapsamı içinde ya da paket kapsamında oluşturulan kullanıcı tanımlı değişkenleri eşlenir. Değişkenlerin değerlerini ayarlamak tasarım zamanında ya da çalışma zamanında dinamik olarak doldurulur. Ayrıca, Sistem değişkenleri parametreleri da eşleştirebilirsiniz. Daha fazla bilgi için SSIS paketi değişkenlerive Sistem değişkenleri.
Çalışma parametreleri ve dönüş kodları'bir sql Yürüt görev daha çok görev hangi parametre türleri sadece bilerek destekler ve bu parametrelerin nasıl eşleştirilir ise. Ek kullanım şartları ve kuralları başarıyla parametreleri ve dönüş kodları sql Yürüt görev için vardır. Bu konu geri kalanını bu kullanım şartları ve kuralları kapsar.
Parametre adları ve işaretleri kullanma
Tarih ve Saat veri türleri ile parametreleri kullanma
Parametreleri where yan tümcelerini kullanma
Parametreleri ile saklı yordamları kullanma
Dönüş kodları değerler alma
Yürütme sql görev düzenleyicisinde yapılandırma parametreleri ve dönüş kodları
Parametre adları ve işaretleri kullanma
sql Yürüt görev kullanır bağlantı türüne bağlı olarak, sql komutunun sözdizimi farklı parametre imleyicileri kullanır. Örneğin, ADO.NETBağlantı Yöneticisi türü sql komutunu bir parametre işaretçisi biçiminde kullandığına dikkat gerektirir @ varParameter, oysa soru işareti (?) parametre işaretçisi ole db bağlantı türü gerektirir.
Parametre adları değişkenleri ve parametreleri arasındaki eşlemeleri olarak kullanabileceğiniz adları da bağlantı Yöneticisi türüne göre değişir. Örneğin, ADO.NETBağlantı Yöneticisi türü kullanan kullanıcı tanımlı bir adı olan bir @ önek, oysa ole db Bağlantı Yöneticisi türü parametre adı olarak sıra 0 tabanlı sayısal değerini kullanmasını istiyor.
Aşağıdaki tabloda, sql komutları için sql Yürüt görev kullanabilirsiniz Bağlantı Yöneticisi türleri gereksinimleri özetler.
Bağlantı türü |
Parametre işaretçisi |
Parametre adı |
sql komut örneği |
---|---|---|---|
ADO |
? |
Parametre1, parametre2... |
SELECT FirstName, LastName, başlık Person.Contact seçin NEREYE ContactID =? |
ADO.NET |
@<parametre adı> |
@<parametre adı> |
select FirstName, LastName, başlık from Person.CONTACTWHERE ContactID = @ parmContactID |
ODBC |
? |
1, 2, 3, … |
SELECT FirstName, LastName, başlık Person.Contact seçin NEREYE ContactID =? |
excel ve ole db |
? |
0, 1, 2, 3, … |
SELECT FirstName, LastName, başlık Person.Contact seçin NEREYE ContactID =? |
Parametreleri ile ado kullanma.net ve ado bağlantısı yöneticileri
ADO.NETve ado bağlantısı yöneticileri için parametreler kullanan sql komutları belirli gereksinimleri:
ADO.NETBağlantı Yöneticisi, sql komutunu parametre imleyicileri gibi parametre adları kullanmanızı gerektirir. Buna göre değişken parametreleri doğrudan eşleştirilebilir. Örneğin, değişken @varNameadlı parametre eşleştirilir @parNameparametresi için bir değer sağlar @parName.
ado bağlantısı yöneticileri sql komutu soru işaretleri (?) parametre imleyicileri gibi gerektiriyor. Ancak, dışındaki tamsayı değerleri için herhangi bir kullanıcı tanımlı adı parametre adları olarak kullanabilirsiniz.
Parametre değerlerini sağlamak için değişkenler parametre adları eşlenir. Ardından, sql Yürüt görev değerleri için parametreleri değişkenleri yüklemek için parametre listesinde parametre adı ordinal değerini kullanır.
excel, odbc ve ole db bağlantı yöneticileri ile parametreleri kullanma
excel, odbc ve ole db bağlantı yöneticileri, parametre imleyicileri ve 0 veya 1 tabanlı sayısal değerler olarak parametre adları sql komutu soru işaretleri (?) kullanmanızı gerektirir. odbc Bağlantı Yöneticisi sql Yürüt görev kullanır, ilk parametre sorgu içinde eşleşen parametre adı 2 adlı; Aksi halde parametreyi 0 olarak adlandırılır. İzleyen parametreleri için parametre adı eşlenen sql komutunu parametre için parametre adı sayısal bir değer gösterir. Örneğin, parametre 3 maps sql komutu üçüncü soru işaretini (?) ile temsil edilen üçüncü parametre adı.
Parametre değerlerini sağlamak için değişkenler parametre adları eşlenir ve değerleri için parametreleri değişkenleri yüklemek için parametre adı ordinal değerini sql Yürüt görev kullanır.
Bağlantı Yöneticisi kullandığı sağlayıcıya bağlı bazı ole db veri türleri desteklenmiyor olabilir. Örneğin, Excel sürücüsü yalnızca sınırlı sayıda veri türlerini tanır. Jet Sağlayıcısı ile Excel sürücüsü davranışı hakkında daha fazla bilgi için bkz: Excel kaynak.
ole db bağlantı yöneticileri ile parametreleri kullanma
ole db Bağlantı Yöneticisi, sql Yürüt görev kullanır BypassPreparegörev özelliği kullanılabilir. Bu özelliği ayarlamak truesql Yürüt görev parametreleri ile sql ifadeleri kullanmadığını.
Bir ole db Bağlantı Yöneticisi'ni kullandığınızda, sql görev Yürüt ole db sağlayıcısı aracılığıyla parametre bilgileri türetilemez çünkü parametreli alt sorgular kullanamazsınız. Ancak, bir ifade parametre değerleri sorgu dizesine bağlamak ve görev SqlStatementSource özelliği ayarlamak için kullanabilirsiniz.
Tarih ve Saat veri türleri ile parametreleri kullanma
Tarih ve zaman parametreleri ile ado kullanma.net ve ado bağlantısı yöneticileri
Veri okurken SQL Servertürleri, timeve datetimeoffset, ya da kullandığı sql Yürüt görev bir ADO.NETveya ado Bağlantı Yöneticisi aşağıdaki ek gereksinimler:
İçin timeverileri, bir ADO.NETBağlantı Yöneticisi, bu verileri parametre türü olan bir parametre depolanmasını gerektirir Inputya Output, ve veri türü olan string.
İçin datetimeoffsetverileri, bir ADO.NETBağlantı Yöneticisi gerektirir aşağıdaki parametrelerden biri saklanan bu veriler:
Parametre türü olan bir parametre Inputve veri türü olan string.
Parametre türü olan bir parametre Outputya ReturnValue, ve veri türü olan datetimeoffset, string, ya datetime2. Veri türü olan ya da bir parametre seçerseniz stringya datetime2, Integration Servicesdize ya da datetime2 için verileri dönüştürür.
ado Bağlantı Yöneticisi ya da gerektiren timeveya datetimeoffsetparametresi türü olan bir parametre veri depolanmasını Inputya Output, ve veri türü olan adVarWchar.
Hakkında daha fazla bilgi için SQL Serververi türleri ve nasıl onlar için harita Integration Servicesbkz: veri türleri, Veri Türleri (Transact-SQL)ve Tümleştirme Hizmetleri veri türleri.
Tarih ve Saat parametrelerini ole db bağlantı yöneticileri ile kullanma
Bir ole db Bağlantı Yöneticisi'ni kullanarak sql Yürüt görev verilerini özel depolama gereksinimleri vardır SQL Serververi türleri, date, time, datetime, datetime2, ve datetimeoffset. Aşağıdaki parametre türleri birinde bu verileri depolamak gerekir:
nvarchar veri türü bir giriş parametresi.
Aşağıdaki tabloda listelendiği gibi uygun veri türüne sahip bir çıkış parametresi.
Outputparametre türü
Tarih veri türü
DBDATE
date
DBTIME2
time
DBTIMESTAMP
datetime, datetime2
DBTIMESTAMPOFFSET
datetimeoffset
Uygun giriş ya da çıkış parametresi veri depolanmaz, paket başarısız olur.
Tarih ve Saat parametreler odbc bağlantısı yöneticileri ile kullanma
Bir odbc Bağlantı Yöneticisi'ni kullanarak, sql Yürüt görev özel depolama gereksinimleri için bir veri olur SQL Serververi türleri, date, time, datetime, datetime2, ya datetimeoffset. Aşağıdaki parametre türleri birinde bu verileri depolamak gerekir:
Bir inputparametresini sql_wvarchar veri türü
Bir outputparametresi aşağıdaki tabloda listelendiği gibi uygun veri türüne sahip.
Outputparametre türü
Tarih veri türü
SQL_DATE
date
SQL_SS_TIME2
time
SQL_TYPE_TIMESTAMP
-ya da-
SQL_TIMESTAMP
datetime, datetime2
SQL_SS_TIMESTAMPOFFSET
datetimeoffset
Uygun giriş ya da çıkış parametresi veri depolanmaz, paket başarısız olur.
Parametrelerini kullanarak where yan tümceleri
select, INSERT, update ve delete komutları sık koşullarını tanımlayan filtreler her satır kaynak tabloları belirtmek için where yan tümceleri bir sql komutu için hak kazanmak için yerine getirmesi gereken içerir. Parametreleri where yan tümceleri filtre değerleri sağlar.
Parametre imleyicileri dinamik parametre değerlerini sağlamak için kullanabilirsiniz. Hangi parametre işaretleyicileri ve parametre adları sql deyiminde kullanılabilir kuralları, Bağlantı Yöneticisi kullanan sql Yürüt türüne bağlıdır.
Bağlantı Yöneticisi türü seç komutuyla örnekleri aşağıdaki tabloda listelenmektedir. INSERT, update ve delete deyimlerini benzer. Örnekler Urun dönmek için kullan'ı seçin Ürün içinde tablo AdventureWorks2012 olan bir ProductID daha büyük ve iki parametre tarafından belirtilen değerleri daha az.
Bağlantı türü |
select sözdizimi |
---|---|
excel, odbc ve oledb |
SELECT* FROM Production.Product WHERE ProductId > ? AND ProductID < ? |
ADO |
SELECT* FROM Production.Product WHERE ProductId > ? AND ProductID < ? |
ADO.NET |
SELECT* FROM Production.Product WHERE ProductId > @parmMinProductID AND ProductID < @parmMaxProductID |
Örnekler aşağıdaki adları olan parametreler gerektirir:
excel ve oled db bağlantı yöneticileri, 0 ve 1 parametre adları kullanın. odbc bağlantı türünü kullanır: 1 ve 2.
ado bağlantı türü herhangi iki parametre adları Param1 ve Param2, gibi kullanabilirsiniz, ancak parametreleri parametre listesindeki sıra konumlarına göre eşlenmelidir.
ADO.NETBağlantı türünü kullanan parametre adları @ parmMinProductID ve @ parmMaxProductID.
Parametreleri ile saklı yordamları kullanma
Saklı yordamlar çalıştırın sql komutları da parametre eşleme kullanabilirsiniz. Parametre imleyicileri ve parametre adları kullanma kuralları sql Yürüt, parametreleştirilmiş sorguları için kuralları gibi kullandığı bağlantı Yöneticisi türüne bağlıdır.
Bağlantı Yöneticisi türü exec komutu örnekleri aşağıdaki tabloda listelenmektedir. Örnekleri çalıştırmak uspGetBillOfMaterials saklı yordamı içinde AdventureWorks2012 . Saklı yordam @StartProductIDve @CheckDate inputparametreleri.
Bağlantı türü |
rpc sözdizimi |
---|---|
excel ve oledb |
EXEC uspGetBillOfMaterials ?, ? |
ODBC |
{call uspGetBillOfMaterials(?, ?)} odbc çağrı sözdizimi hakkında daha fazla bilgi için bkz: konu, Yordam parametreleri, odbc Programcı Başvurusu msdn Kitaplığı. |
ADO |
If IsQueryStoredProcedure is set to False, EXEC uspGetBillOfMaterials ?, ? If IsQueryStoredProcedure is set to True, uspGetBillOfMaterials |
ADO.NET |
If IsQueryStoredProcedure is set to False, EXEC uspGetBillOfMaterials @StartProductID, @CheckDate If IsQueryStoredProcedure is set to True, uspGetBillOfMaterials |
Çıkış parametreleri kullanmak için sözdizimi, çıkış anahtar her parametre işaretçisi izlemesini gerektirir. Örneğin, aşağıdaki çıkış parametresi sözdizimini doğru: EXEC myStoredProcedure ? OUTPUT.
Transact-sql ile giriş ve çıkış parametreleri kullanma hakkında daha fazla bilgi için bkz: saklı yordamlar, Parameters (Database Engine), Returning Data by Using OUTPUT Parameters, ve execute (Transact-sql).
Dönüş kodları değerler alma
Saklı yordam yordam yürütme durumunu gösteren bir dönüş kodu denilen bir tamsayı değer döndürür. Dönüş kodları sql Yürüt görevi uygulamak için parametreleri kullanmak ReturnValuetürü.
Aşağıdaki tabloda bağlantı türüne göre bazı örnekler dönüş kodları uygulayan exec komutları listeler. Tüm örneklerde kullanılır bir inputparametresi. Tüm parametre türleri için aynı parametre imleyicileri ve parametre adları kullanma kuralları vardır —Input, Output, ve ReturnValue.
Bazı sözdizimi parametre rakamları desteklemez. Bu durumda, bir değişkeni kullanarak parametre değeri sağlamanız gerekir.
Bağlantı türü |
rpc sözdizimi |
---|---|
excel ve oledb |
EXEC ? = myStoredProcedure 1 |
ODBC |
{? = call myStoredProcedure(1)} odbc çağrı sözdizimi hakkında daha fazla bilgi için bkz: konu, Yordam parametreleri, odbc Programcı Başvurusu msdn Kitaplığı. |
ADO |
If IsQueryStoreProcedure is set to False, EXEC ? = myStoredProcedure 1 If IsQueryStoreProcedure is set to True, myStoredProcedure |
ADO.NET |
Set IsQueryStoreProcedure is set to True. myStoredProcedure |
Yukarıdaki tabloda gösterilen sözdiziminde, sql Yürüt görev kullanır Doğrudan giriş kaynak türü saklı yordamı çalıştırmak için. sql Yürüt görev-ebilmek da kullanma Dosya bağlantı kaynak türü bir saklı yordamı çalıştırmak için. sql Yürüt görev kullanıp bakılmaksızın Doğrudan giriş veya Dosya bağlantı kaynak türü, bir parametre kullanmak ReturnValuedönüş kodu uygulamak üzere türü. sql Yürüt görev çalışır sql deyimini kaynak türü yapılandırma hakkında daha fazla bilgi için bkz: Yürütme sql görev Düzenleyicisi (Genel sayfa).
Dönüş kodları Transact-sql ile kullanma hakkında daha fazla bilgi için bkz: saklı yordamlar, Returning Data by Using a Return Codeve RETURN (Transact-SQL).
Yapılandırma parametreleri ve dönüş kodları ' sql görev Yürüt
Ayarlayabileceğiniz özellikleri parametreleri ve dönüş hakkında daha fazla bilgi kodları için SSISTasarımcısı, aşağıdaki konuyu tıklatın:
Bu özellikleri ayarlama hakkında daha fazla bilgi için SSISTasarımcısı, aşağıdaki konuyu tıklatın:
Dış Kaynaklar
Blog girişi, çıkış parametreleri ile saklı, blogs.msdn.com üzerinde
CodePlex örnek, Execute sql parametreleri ve sonuç kümelerini, msftisprodsamples.codeplex.com üzerinde
İlişkili İçerik
|