Aracılığıyla paylaş


Parametreleri ve dönüş kodları için çalışan SQL görev Yürüt

sql ifadelerini ve saklı yordamlar sık kullandığınız input parametreleri, output , parametreleri ve dönüş kodları.De Integration Services, sql Yürüt görev destekler Input, Output, ve ReturnValue parametre türleri.Kullandığınız Input türü giriş parametresi için Output Çıkış parametreleri ve ReturnValue için dönüş kodları.

Not

Yalnızca veri sağlayıcı destekliyorsa, sql Yürüt görev parametrelerinde kullanabilirsiniz.

sql Yürüt görev, bir üst kapsam içinde oluşturulan kullanıcı tanımlı değişkenleri için eşlenen sql komutları, sorgular ve saklı yordamlar gibi parametrelerde kapsayıcı, ya da paket kapsam içinde.Değişkenlerin değerlerini olabilir küme en dinamik olarak zamanında saat veya doldurulmuş tasarlayın.Parametreler, ayrıca Sistem değişkenleri eşleyebilirsiniz.Daha fazla bilgi için bkz: Tümleştirme Hizmetleri değişkenleri ve Sistem değişkenleri.

Ancak, çalışma parametreleri ve dönüş kodları bir yürütme SQL görev hangi parametre türleri yalnızca bilerek desteklediğinden daha fazla ve bu parametrelerin nasıl eşleştirilir görevdir.Ek kullanım gereksinimleri ve başarıyla parametrelerini kullanın ve sql Yürüt görev kodlarını döndürmesi için yönergeleri vardır.Bu konu geri kalanını Bu kullanım gereksinimleri ve yönergeleri içerir:

  • 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.NET Bağlantı Yöneticisi türü gerektirir sql komutu biçiminde bir parametre işaretçisi kullanır @ varParameter, oysa soru işareti (?) parametre işaretçisi ole db bağlantı türü gerektirir.

Değişkenleri ve parametreleri arasındaki eşlemeleri parametre adları olarak kullanabileceğiniz adları da Bağlantı Yöneticisi türüne göre değişir.Örneğin, ADO.NET Bağlantı Yöneticisi türü kullanan kullanıcı tanımlı bir adı olan bir önek, @ ole db Bağlantı Yöneticisi türü için 0 tabanlı sıralı sayısal değeri parametre adı. kullanmanız gerekir oysa

Aşağıdaki tablo için sql Yürüt görev kullanabilirsiniz Bağlantı Yöneticisi türleri sql komutları gereksinimleri özetler.

Bağlantı türü

Parametre işaretçisi

Parametre adı

Örnek sql komutu

ADO

?

Parametre1, parametre2...

select FirstName, LastName, başlık from Person.Person where BusinessEntityID =?

ADO.NET

@<parametre adı>

@<parametre adı>

select FirstName, LastName, başlık dan Person.Person where BusinessEntityID = @ parmBusinessEntityID

ODBC

?

1, 2, 3, …

select FirstName, LastName, başlık from Person.Person where BusinessEntityID =?

excel ve ole db

?

0, 1, 2, 3, …

select FirstName, LastName, başlık from Person.Person where BusinessEntityID =?

ado ile parametreleri kullanma.net ve ado bağlantısı yöneticileri

ADO.NET ve ado bağlantısı yöneticileri parametreleri kullanan sql komutları için belirli gereksinimleri vardır:

  • ADO.NET bağlantı yöneticileri sql komutunu parametre imleyicileri parametre adları kullanmanızı gerektirir.Yani, doğrudan için parametreleri değişkenleri eşlenebilir.Örneğin, değişken @varName eşleştirilmiş adlandırılmış parametre @parName parametresi için bir değer sağlar ve @parName.

  • ado bağlantısı yöneticileri sql komutu soru işaretleri (?) parametre imleyicileri gerektiriyor.Ancak, kullanıcı tanımlı için herhangi bir ad, dışındaki tamsayı değerler için 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ğerler 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 sql komutu soru işaretleri (?) parametre imleyicileri ve 0 veya 1 tabanlı sayısal değerler olarak parametre adları olarak gerektiriyor.odbc Bağlantı Yöneticisi sql Yürüt görev kullanır, ilk parametre sorgu içinde eşleşen parametre adı 1 adlı; Aksi halde 0 parametre adı verilir.Sıralı parametreler için parametre adı eşleştiren sql komutunda parametre sayısal parametre adı değerini gösterir.Örneğin, 3 eşlemeleri sql komutu üçüncü soru işareti (?) ile temsil edilen üçüncü parametre için parametre adı.

Parametre değerlerini sağlamak için değişkenler parametre adları eşlenir ve değerler için parametreleri değişkenleri, yüklemek için parametre adı ordinal değerini sql Yürüt görev kullanır.

Bağlı sağlayıcı Bağlantı Yöneticisi kullanır, bazı ole db veri türleri desteklenmiyor.Örneğin, Excel sürücüsü yalnızca sınırlı tanır küme veri türü.Jet sağlayıcı 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, BypassPrepare görevin özellik kullanılabilir.Size gereken küme için bu özellik true , sql Yürüt görev kullanır sql deyimleri ile parametreleri.

Bir ole db Bağlantı Yöneticisi'ni kullandığınızda, sql Yürüt görev ole db sağlayıcı aracılığıyla parametre bilgileri türetilemez çünkü parametreli alt sorgular kullanamazsınız.Ancak, sorgu parametre değerlerini birleştirmek için ifade kullanabilirsiniz dize ve görev SqlStatementSource özelliğini ayarlayın.

Tarih ve saat veri türleri ile parametreleri kullanma

Tarih ve zaman parametreleri ile ado kullanma.net ve ado bağlantısı yöneticileri

Verileri okurken SQL Server türleri, time ve datetimeoffset, ya da kullandığı bir sql Yürüt görev bir ADO.NET veya ado Bağlantı Yöneticisi aşağıdaki ek gereksinimler vardır:

  • İçin time verileri, bir ADO.NET Bağlantı Yöneticisi gerektirir Bu parametre türü olan bir parametre depolanmış verileri Input veya Output, ve veri türü olan string.

  • İçin datetimeoffset verileri, bir ADO.NET Bağlantı Yöneticisi aşağıdaki parametrelerden biri depolanmak üzere bu verileri gerektirir:

    • Parametre türü olan bir parametre Input ve veri türü olan string.

    • Parametre türü olan bir parametre Output veya ReturnValue, ve veri türü olan datetimeoffset, string, veya datetime2.Veri türü olan ya da bir parametreyi seçerseniz string veya datetime2, Integration Services verilerini dize veya datetime2.

  • Bir ado Bağlantı Yöneticisi ya da gerektiren time veya datetimeoffset parametresi türü olan bir parametre depolanmış verileri Input veya Output, ve veri türü olan adVarWchar.

Hakkında daha fazla bilgi için SQL Server veri türleri ve nasıl bunlar eşlemek için Integration Services Bkz: veri türleri, Veri Türleri (Transact-SQL) ve Tümleştirme Hizmetleri veri türleri.

Tarih ve zaman parametrelerini ole db bağlantı yöneticileri ile kullanma

Bir ole db Bağlantı Yöneticisi'ni kullanırken, sql Yürüt görev verileri belirli bir depolama gereksinimleri vardır SQL Server veri türleri, date, time, datetime, datetime2, ve datetimeoffset.Bu verileri depolamak aşağıdaki parametre türlerinden biri gerekir:

  • nvarchar veri türü giriş parametresi.

  • Aşağıda, listelendiği gibi uygun veri türüne sahip bir çıkış parametresi, tablo.

    Output parametre türü

    Tarih veri türü

    DBDATE

    date

    DBTIME2

    time

    DBTIMESTAMP

    datetime, datetime2

    DBTIMESTAMPOFFSET

    datetimeoffset

Uygun giriş veya çıkış parametresi veri depolanır, 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 kullanırken, sql Yürüt görev biriyle verileri için belirli bir depolama gereksinimleri vardır SQL Server veri türleri, date, time, datetime, datetime2, veya datetimeoffset.Bu verileri depolamak aşağıdaki parametre türlerinden biri gerekir:

  • Bir input parametresini sql_wvarchar veri türü

  • Bir output parametresi ile ilgili verileri yazın gibi listelenen aşağıdaki tablo.

    Output parametre türü

    Tarih veri türü

    SQL_DATE

    date

    SQL_SS_TIME2

    time

    SQL_TYPE_TIMESTAMP

    - veya -

    SQL_TIMESTAMP

    datetime, datetime2

    SQL_SS_TIMESTAMPOFFSET

    datetimeoffset

Uygun giriş veya çıkış parametresi veri depolanır, paket başarısız olur.

Parametrelerini kullanarak where yan tümceleri

select, INSERT, update ve delete komutları sık koşulları tanımlamak filtreleri kaynak tablolarda her satırı belirtmek için where yan tümceleri alabilmek için bir sql komutu için yerine getirmesi gereken içerir.Parametreleri where yan tümceleri filtre değerleri sağlar.

Dinamik parametre değerlerini sağlamak için parametre işaretleyicileri kullanabilirsiniz.Hangi parametre imleyicileri ve parametre adları kullanılabilir kuralları SQL deyim sql Yürüt kullanan Bağlantı Yöneticisi türüne bağlıdır.

Aşağıdaki tablo select komutu tarafından Bağlantı Yöneticisi türü örnekleri listeler.INSERT, update ve delete deyimlerini benzer.Ürünleri geri dönmek için select örnekler kullanmak Product tablo , AdventureWorks2008R2 olan bir ProductID daha büyük ve daha küçük iki parametre tarafından belirtilen değerleri

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.1 Ve 2 odbc bağlantı türünü kullanır.

  • 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.

  • The ADO.NET connection type uses the parameter names @parmMinProductID and @parmMaxProductID.

Parametreleri ile saklı yordamları kullanma

Saklı yordamlar çalıştırmak sql komutları parametre eşleme de kullanabilirsiniz.Parametre imleyicileri ve parametre adları kullanma kuralları parametreleştirilmiş sorguları için kurallar gibi sql Yürüt kullanan Bağlantı Yöneticisi türüne bağlıdır.

Aşağıdaki tablo exec komutu tarafından Bağlantı Yöneticisi türü örnekleri listeler.Örnekleri çalıştırmak uspGetBillOfMaterials saklı yordam , AdventureWorks2008R2.The stored procedure uses the @StartProductID and @CheckDate input parameters.

Bağlantı türü

exec sözdizimi

excel ve oledb

EXEC uspGetBillOfMaterials ?, ?

ODBC

{call uspGetBillOfMaterials(?, ?)}

odbc çağrı sözdizimi hakkında daha fazla bilgi için konusuna Yordam parametreleri, msdn Kitaplığı'nda odbc Programmer's Reference içinde.

ADO

If IsQueryStoredProcedure is küme to False, EXEC uspGetBillOfMaterials ?, ?

If IsQueryStoredProcedure is küme to True, uspGetBillOfMaterials

ADO.NET

If IsQueryStoredProcedure is küme to False, EXEC uspGetBillOfMaterials @StartProductID, @CheckDate

If IsQueryStoredProcedure is küme to True, uspGetBillOfMaterials

Çıkış parametreleri kullanmak için anahtar sözcüğü çıktı her parametre işaretçisi izleyin sözdizimi gerektirir.Örneğin, çıktı parametresi sözdizimi aşağıdaki gibidir: EXEC myStoredProcedure ? OUTPUT.

Saklı yordamları Transact-sql ile giriş ve çıkış parametreleri hakkında daha fazla bilgi için bkz: Parametreler (veritabanı altyapısı), Çıkış parametreleri kullanarak veri döndürme, ve EXECUTE (Transact-SQL).

Dönüş kodları değerler alma

Bir saklı yordam adı verilen bir yordamı yürütme durumunu gösteren bir dönüş kodu bir tamsayı değeri döndürebilir.Dönüş kodları sql Yürüt görevi uygulamak için parametreleri kullanmak ReturnValue türü.

Aşağıdaki tablo bağlantı listeleriyle bazı örnekleri dönüş kodları uygulayan exec komutları yazın.Tüm örneklerde kullanılır bir input parametresi.Parametre imleyicileri ve parametre adları kullanma kuralları tüm parametre türleri aynıdır —Input, Output, ve ReturnValue.

Bazı parametre değişmezleri desteklemez.durum, Bir değişkeni kullanarak parametre değeri sağlamanız gerekir.

Bağlantı türü

exec sözdizimi

excel ve oledb

EXEC ? = myStoredProcedure 1

ODBC

{? = call myStoredProcedure(1)}

odbc çağrı sözdizimi hakkında daha fazla bilgi için konusuna Yordam parametreleri, msdn Kitaplığı'nda odbc Programmer's Reference içinde.

ADO

If IsQueryStoreProcedure is küme to False, EXEC ? = myStoredProcedure 1

If IsQueryStoreProcedure is küme to True, myStoredProcedure

ADO.NET

küme IsQueryStoreProcedure is küme to True.

myStoredProcedure

Önceki alıştırmada gösterilen sözdizimi tablo, sql Yürüt görev kullanır Doğrudan giriş kaynak türünü saklı yordamı çalıştırmak için.Ayrıca, sql Yürüt görev kullanabilirsiniz Dosya bağlantı kaynak türünü çalıştırmak için bir saklı yordam.Excecute sql görev kullanıp kullanmadığını, Regardlesss Doğrudan giriş veya Dosya bağlantı kaynak türü, bir parametre olarak kullanmak ReturnValue tipine uygulamak dönüş kodu.sql Yürüt görev çalışır SQL deyim kaynak türü yapılandırma hakkında daha fazla bilgi için bkz: Yürütme sql görev Düzenleyicisi (genel sayfa).

Saklı yordamlar dönüş kodları Transact-sql ile kullanma hakkında daha fazla bilgi için bkz: Dönüş kodu kullanarak veri döndürme ve return (Transact-sql).

Yapılandırma parametreleri ve dönüş kodları sql görev Yürüt

Parametreleri ve dönüş özellikleri hakkında daha fazla bilgi, kodları için yapabilecekleriniz küme , SSIS Tasarımcısı, aşağıdaki konuyu tıklatın:

Bu özellikleri küme hakkında daha fazla bilgi için SSIS Tasarımcısı, aşağıdaki konuyu tıklatın:

Dış Kaynaklar

Integration Services simgesi (küçük)Integration Services ile güncel kalın

En son karşıdan yüklemeleri, makaleler, örnekler ve videolarını Microsoftyanı olarak seçilen topluluk çözümleri ziyaret Integration Services sayfa msdn veya TechNet:

Bu güncelleştirmelerle ilgili otomatik bildirim almak için, sayfadaki RSS akışlarına abone olun.