Aracılığıyla paylaş


Parametreleri ve dönüş kodları'çalışan SQL görevi yürütmek

SQL ifadelerini ve saklı yordamlar sık kullanın.inputparametrelerioutputparametreleri ve dönüş kodları.InIntegration Services, SQL yürütmek görev destekleyenInput,Output, veReturnValueparametre türleri.KullandığınızInputGiriş parametreleri için türüOutputiçin çıktı parametrelerini, veReturnValuegeri dönmek için kodlar.

Not

Yalnızca veri sağlayıcı destekliyorsa, bir SQL yürütmek görev parametreleri kullanabilirsiniz.

Sorgularda ve saklı yordamlar, SQL komutlarını, parametreleri yürütmek SQL görevi, üst kapsayıcının kapsamındaki veya kapsamındaki paket oluşturan kullanıcı tarafından tanımlanmış değişkenleri eşleştirilir.Değişkenlerin değerlerini ayarlayabilir tasarım sırasında veya çalışma zamanında dinamik olarak doldurulan.Sistem değişkenleri için parametreleri de eşleyebilirsiniz.Daha fazla bilgi için bkz:Tümleştirme Hizmetleri değişkenleriveSistem değişkenleri.

Bununla birlikte, parametre ve dönüş kodları bir yürütmek SQL ile daha yeni görevin hangi parametre türleri bilerek destekler ve bu parametrelerin nasıl eşleştirilir görevdir.Ek kullanım gereksinimlerini ve başarıyla parametreleri kullanma ve kodları yürütmek SQL görev yönergeleri vardır.Bu konu geri kalanını bu kullanım gereksinimleri ve kuralları kapsar.

  • Parametre adları ve işaretleri kullanma

  • Tarih ve saat veri türlerinin parametrelerini kullanma

  • Parametreleri WHERE yan tümcelerini kullanma

  • Saklı yordamlarla parametreleri kullanma

  • Döndürülen kodları, değerler alma

  • Yapılandırma parametreleri ve dönüş kodları, yürütmek SQL görev Düzenleyicisi

Parametre adları ve işaretlerini kullanma

SQL yürütmek görev kullanan bağlantı türüne bağlı olarak, SQL komutunun sözdizimi farklı parametre imleyicileri kullanır.ÖrneğinADO.NETBağlantı Yöneticisi türü gerektirir SQL komut bir parametre işaretçisi biçiminde kullanır**@ varParameter**, OLE DB bağlantı türü gerektirir, ancak soru işareti (?) parametre işaretçisi.

Parametre adı, değişkenler ve Parametreler arasındaki eşleme olarak adları da Bağlantı Yöneticisi türüne göre değişir.ÖrneğinADO.NETBağlantı Yöneticisi türünü kullanan kullanıcı tanımlı bir adı bir önek @ OLE DB Bağlantı Yöneticisi türü için 0-tabanlı bir sıra, sayısal bir değer parametrenin adı. kullanmanız gerekir; oysa

SQL yürütmek görevi, Bağlantı Yöneticisi türleri için SQL komutları gereksinimleri aşağıdaki tabloda özetlenmiştir.

Bağlantı türü

Parametre işaretçisi

Parametre adı

Örneğin SQL komutu

ADO

?

Param1, Param2...

SELECT FirstName, LastName, başlık FROM Person.Contact WHERE ilgili kişi kimliği =?

ADO.NET

@<parametre adı>

@<parametre adı>

İlgili kişi SELECT FirstName, LastName, başlık FROM Person.Contact WHERE kimliği = @ parmContactID

ODBC

?

1, 2, 3, …

SELECT FirstName, LastName, başlık FROM Person.Contact WHERE ilgili kişi kimliği =?

EXCEL ve OLE DB

?

0, 1, 2, 3, …

SELECT FirstName, LastName, başlık FROM Person.Contact WHERE ilgili kişi kimliği =?

ADO.NET ile ADO Bağlantı Yöneticisi parametrelerini kullanmak

ADO.NET ve ADO bağlantısı Yöneticilerin SQL komutlarını, parametreleri kullanan belirli gereksinimleri:

  • ADO.NET bağlantı yöneticileri, SQL komutunu parametre adı parametre imleyicileri kullanmanızı gerektirir.Bu değişken parametreleri doğrudan eşlenebilir anlamına gelir.Örneğin, değişken@varNameeşleştirilmiş adlandırılmış parametre için@parNameparametre için bir değer sağlar.@parName.

  • ADO bağlantısı Yöneticilerin SQL komutunu soru işareti (?) parametre imleyicileri gerektirir.Ancak, tüm kullanıcı tanımlı adını dışındaki tamsayı değerler için parametre adı olarak kullanabilirsiniz.

Parametre değerlerini sağlamak için değişkenler için parametre adları eşlenir.Daha sonra SQL Yürüt görev sıra değeri parametre adını parametre listesinde değerleri değişkenler parametreleri yüklemek için kullanır.

EXCEL, ODBC ve OLE DB Bağlantı Yöneticisi parametrelerini kullanmak

EXCEL, ODBC ve OLE DB bağlantı yöneticileri SQL komutunu soru işareti (?) parametre imleyicileri ve 0-tabanlı veya 1 tabanlı sayısal değer parametre adı olarak gerektirir.ODBC Bağlantı Yöneticisi yürütmek SQL görev kullanılıyorsa, ilk parametre sorgusundaki eşleyen parametre adı 1 adlı; aksi halde parametre 0 olarak adlandırılır.Sonraki parametre için parametre adı eşleyen SQL komutunda parametre sayısal parametre adı değerini gösterir.Örneğin, parametre 3 eşlenir SQL komutu üçüncü soru işareti (?) ile temsil edilen üçüncü parametre adı.

Parametre değerlerini sağlamak için değişkenler için parametre adları eşlenir ve yürütmek SQL görev sıra değerini parametre adı değerleri değişken parametreleri yüklemek için kullanır.

Bağlantı Yöneticisi'ni kullanan sağlayıcıya bağlı olarak, bazı OLE DB veri türleri desteklenmiyor olabilir.Ö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ünü davranışı hakkında daha fazla bilgi için bkz:Excel kaynak.

OLE DB Bağlantı Yöneticisi ile parametrelerini kullanmak

, yürütmek SQL görev kullanan OLE DB Bağlantı Yöneticisi,BypassPreparegörevin özellik vardır., Gereken küme bu özelliktrueSQL yürütmek görevi parametreler içeren SQL deyimi kullanır

Bir OLE DB Bağlantı Yöneticisi kullandığınızda, parametreli hale getirilmiş alt kullanamazsınız, çünkü SQL yürütmek görevi, OLE DB sağlayıcı parametre bilgileri türetilemez.Ancak, bir ifade parametre değerlerini sorgu dizesi bir arada ve görevi SqlStatementSource özelliğini ayarlamak için kullanabilirsiniz.

Tarih ve saat veri türleri ile parametrelerini kullanmak

Tarih ve saat parametreleri kullanarak ADO.NET ve ADO Bağlantı Yöneticisi

Veri okurkenSQL Servertürler,timevedatetimeoffset, ya da kullanan bir SQL yürütmek görevi birADO.NETveya ADO Bağlantı Yöneticisi aşağıdaki ek gereksinimleri:

  • İçintimeverileri, birADO.NETBağlantı Yöneticisi parametre türü olan bir parametresi depolanmış için bu verileri gerektirirInputorOutput, ve veri türü olanstring.

  • İçindatetimeoffsetverileri, birADO.NETBağlantı Yöneticisi aşağıdaki parametrelerden birinde depolanması için bu verileri gerektirir:

    • Parametre türü olan bir parametreInputve veri türüstring.

    • Parametre türü olan bir parametreOutputorReturnValue, ve veri türü olandatetimeoffset,string, ordatetime2.Bir parametre seçin, veri türü olan ya dastringordatetime2,Integration Servicesdize ya da veriye dönüştürür datetime2.

  • Bir ADO Bağlantı Yöneticisi, ya da gerektirirtimeordatetimeoffsetveri, parametre türü parametresinde saklananInputorOutput, ve veri türü olanadVarWchar.

Daha fazla bilgiSQL Serververi türleri ve nasıl bunlar eşlemek içinIntegration Servicesveri türleri için bkz:(Transact-SQL) veri türleriveTümleştirme Hizmetleri veri türleri.

OLE DB Bağlantı Yöneticisi ile tarih ve saat parametreleri kullanma

Bir OLE DB Bağlantı Yöneticisi'ni kullanarak, bir SQL yürütmek görev verileri özel depolama gereksinimleri olanSQL Serververi türleridate,time,datetime,datetime2, anddatetimeoffset.Bu verileri parametre aşağıdakilerden birinde saklamanız gerekir:

  • NVARCHAR veri türü giriş parametresi.

  • Bir çıktı parametresi aşağıdaki şekilde uygun veri türleri tablo.

    Output parametre türü

    Tarih veri türü

    DBDATE

    date

    DBTIME2

    time

    DBTIMESTAMP

    datetime, datetime2

    DBTIMESTAMPOFFSET

    datetimeoffset

Durumunda verilerin depolanmadı uygun giriş veya çıkış parametresi, paket başarısız olur.

ODBC Bağlantı Yöneticisi ile tarih ve saat parametreleri kullanma

Bir ODBC Bağlantı Yöneticisi'ni kullanarak, bir SQL Yürüt görev biriyle veriler için özel depolama gereksinimleri olanSQL Serververi türleridate,time,datetime,datetime2, ordatetimeoffset.Bu verileri parametre aşağıdakilerden birinde saklamanız gerekir:

  • AninputSQL_WVARCHAR veri türünde parametre

  • Anoutputparametre ile ilgili veri türü olarak listelenen aşağıdaki tabloda.

    Output parametre 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ş veya çıkış parametresi veri saklanır, paket başarısız olur.

WHERE parametreleri kullanarak yan

SELECT, INSERT, UPDATE ve DELETE komutları sık alabilmek için bir SQL komutunu karşılaması gereken koşulları tanımlamak, filtreleri kaynak tablolar, her satırı belirtmek için WHERE yan tümceleri içerir.Parametreler, WHERE yan tümceleri filtre değerleri sağlar.

Parametre işaretçileri, dinamik olarak parametre değerlerini sağlamak için kullanabilirsiniz.Hangi parametresi işaretleri ve parametre adları kullanılabilir SQL içinde kuralları deyim SQL Yürüt kullanan bir Bağlantı Yöneticisi türüne göre değişir.

Aşağıdaki tablo Bağlantı Yöneticisi türüne göre SELECT komutu örnekleri listeler.INSERT, UPDATE ve DELETE deyimlerini benzer.Ürünleri için SELECT örnekleri kullanınÜrün tablo AdventureWorksolan bir büyüktür ve daha küçük iki parametre. tarafından belirtilen değerleri ProductID

Bağlantı türü

SELECT sözdizimi

EXCEL, ODBC, 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 ada sahip bir parametre olması gerekir:

  • EXCEL ve OLED DB bağlantısı yöneticilerinin 0 ve 1 parametre adları kullanın.ODBC bağlantı türü 1 ve 2 kullanır.

  • The ADO bağlantı türü herhangi iki parametre adı, Param1, Param2 gibi kullanıyor, ancak parametreleri gerekir eşlenen göre sıra konumlarına parametre listesi.

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

Parametreleri ile Saklý Yordamlarý Kullanma

Saklı yordamlar çalıştırılan SQL komutları parametre eşleştirmeyi de kullanabilirsiniz.Parametre imleyicileri ve parametre adları kullanma kuralları kullanan yürütmek SQL, yalnızca parametreli sorgular için kurallar gibi Bağlantı Yöneticisi türüne bağlıdır.

Aşağıdaki tablo Bağlantı Yöneticisi türüne göre EXEC komutu örnekleri listeler.Örnekleri çalıştırmakuspGetBillOfMaterials saklı yordam AdventureWorks.The stored procedure uses the @StartProductID and @CheckDateinput parameters.

Bağlantı türü

EXEC sözdizimi

EXCEL ve OLEDB

EXEC uspGetBillOfMaterials ?, ?

ODBC

{call uspGetBillOfMaterials(?, ?)}

ODBC hakkında daha fazla bilgi için arama sözdizimi, konusunda, bkz:Yordam parametreleriiçinde ODBC Programmer's Reference ', MSDN Kitaplığı.

ADO

IfIsQueryStoredProcedurekümeFalse,EXEC uspGetBillOfMaterials ?, ?

IfIsQueryStoredProcedurekümeTrue,uspGetBillOfMaterials

ADO.NET

IfIsQueryStoredProcedurekümeFalse,EXEC uspGetBillOfMaterials @StartProductID, @CheckDate

IfIsQueryStoredProcedurekümeTrue,uspGetBillOfMaterials

Çıkış parametreleri kullanmak için sözdizimi, OUTPUT anahtar her parametre işaretçisi izlemesini gerektirir.Örneğin, aşağıdaki çıkış parametresi sözdizimini doğrudur: EXEC myStoredProcedure ? OUTPUT.

Transact-SQL saklı yordamları parametrelerle giriş ve çıkış kullanma hakkında daha fazla bilgi için bkz:Parametreler (Veritabanı Altyapısı),OUTPUT parametreleri kullanarak veri döndürülüyor, ve(Transact-SQL) yürütmek.

Dönüş kodları değerler alma

Bir saklı yordam adı verilen bir yordamı yürütme durumu belirtmek için bir dönüş kodu bir tamsayı değeri döndürebilir.Dönüş kodları yürütmek SQL göreve uygulamak için parametreleri kullanınReturnValueyazın.

Aşağıdaki tablo bağlantı listeleri, örnek olarak, dönüş kodları EXEC komutları yazın.Tüm örneklerde kullanılır birinputparametre.Parametre türleri için aynı parametre imleyicileri ve parametre adları kullanma için kurallar şunlardır;Input,Output, veReturnValue.

Parametre hazır bazı sözdizimini destekler.Bu durumda, bir değişkeni kullanarak parametre değeri girmelisiniz.

Bağlantı türü

EXEC sözdizimi

EXCEL ve OLEDB

EXEC ?= myStoredProcedure 1

ODBC

{?= call myStoredProcedure(1)}

ODBC hakkında daha fazla bilgi için arama sözdizimi, konusunda, bkz:Yordam parametreleriiçinde ODBC Programmer's Reference ', MSDN Kitaplığı.

ADO

IfIsQueryStoreProcedurekümeFalse,EXEC ? = myStoredProcedure 1

IfIsQueryStoreProcedurekümeTrue,myStoredProcedure

ADO.NET

kümeIsQueryStoreProcedurekümeTrue.

myStoredProcedure

yürütmek SQL görevi önceki tabloda gösterilen sözdiziminde kullananDoğrudan giriş saklı yordamı. çalıştırmak için kaynak türü yürütmek SQL görev kullanabilirDosya bağlantısı çalıştırılacak bir saklı yordam. kaynak türü Regardlesss Excecute SQL görev kullanıp,Doğrudan giriş bir parametre türüne uygulamak veya kaynak türünü ReturnValueDosya bağlantısı, kullanma dönüş kodu. SQL deyiminin SQL Yürüt görevin çalışacağı, kaynak türü yapılandırma hakkında daha fazla bilgi için bkz:SQL yürütmek görev Düzenleyicisi (genel sayfa).

Saklı yordamları Transact-SQL ile döndürülen kodları kullanma hakkında daha fazla bilgi için bkz:Bir dönüş kodu kullanarak veri döndürülüyorveRETURN (Transact-SQL).

Yapılandırma parametreleri ve dönüş kodları ' SQL görevi yürütmek

Parametreleri ve dönüş kodları ayarladığınız özellikleri hakkında daha fazla bilgi içinSSISTasarımcısı, aşağıdaki konuyu tıklatın:

Bu özellikleri küme hakkında daha fazla bilgiSSISTasarımcısı, aşağıdaki konuyu tıklatın:

Dış Kaynaklar

Integration Services icon (small)tümleştirme Services ile güncel kalın

En son karşıdan yüklemeler, makaleler, örnekler, Microsoft Office 2010 Suite gelen video yanı sıra, seçilen topluluk çözümleri için ziyaret edin veIntegration ServicesMSDN veya TechNet sayfa:

Bu güncelleştirmeler otomatik bildirilmesi için sayfanın RSS akışlarını için abone olmak olun.