Aracılığıyla paylaş


Visual Studio 2005 istemcisi (Visual Basic) kullanarak soap isteği gönderme

Bu özellik Microsoft SQL Server'ın ilerideki bir sürümünde kaldırılacaktır. Yeni geliştirme işlerinde bu özelliği kullanmaktan kaçının ve bu özelliği kullanmakta olan uygulamalarda değişiklik yapmayı planlayın.

Bu konudaki örnek sağlanan örneğe benzer Gönderme soap istekleri kullanarak Visual Studio 2005 istemcisi (C#) tarafından.Tek fark bu örnek yazılır Visual Basic.Bu nedenle, bu konuda gerekli kodu ve örnek oluşturmak için gereken adımlar sağlanır.

Çalışan bir oluşturma örneği

Bu örneği oluşturmanın birçok adımları nedeniyle, uygulama dört bölüme ayrılır:

  • Bölüm 1: Saklı yordam yürütme.

  • Bölüm 2: Parametresiz sql sorguyu çalıştırın.

  • Bölüm 3: sql sorgu parametresiyle çalıştırın.

  • Bölüm 4: Kullanıcı tanımlı işlev yürütmek.

Her bölümü sağlayan bir küme yönerge.Her bölümü sonunda, uygulama test edebilirsiniz.

Gerekli proxy sınıf oluşturmak için

  1. Bu uygulama için bir bilgisayardaki bir klasör oluşturun.

  2. istemci bilgisayarında, dan Microsoft Visual Studio 2005 program grubu, Microsoft Visual Studio 2005'i başlatın.

  3. ' I Yeni bir proje.

  4. Seçin Visual Basic Projeleri olarak Proje türü.

  5. De ad metin kutusunda, belirttiğiniz NativeSOAPApp2.

  6. De yere metin kutusuna, istediğiniz projeyi kaydetmek için bir klasör yol belirtin.

  7. Seçin Windows Application olarak şablonve i Tamam.

  8. Solution Explorer penceresinde sağ başvurularıve seçin Add Web Reference.Bir Web baþvurusu eklemek için başka bir yol olduğunu Proje menüsünü seçin sonra Add Web Reference.

  9. De Adres kutusuna, sunucunun bulunduğu sunucunun adını, https://Server/sql?wsdl, yazın ve enter tuşuna basın.wsdl oluşturma işlemi başarılı olursa, bitiş noktası açıklaması göreceksiniz.Bu aşamada'u AddReference.Bu gerekli proxy sınıfları oluşturur, böylece wsdl belgesinde yöntemlerini çağırabilir.

Bölüm 1: Saklı yordamı yürütmek

Bu bölümü, uygulama ister GetCustomerInfo Web yöntem.

  1. Form1'i metin kutusu ekleme (textBox1), bir düğme (button1) ve liste kutusu (listBox1).

  2. Sağ metin kutusuve seçin Özellikler.Değişiklik metin değeri ' textBox1'dan 1.Müşteri Kimliği varsayılan değer budur.

  3. Sağ button1ve seçin Özellikler.

    1. Değişiklik metin özellik değeri button1 ExecSP için.

    2. Değiştir (ad) ExecSP için özellik değeri.

  4. Liste kutusunu sağ tıklatın (listBox1) ve seçin Özellikler.Değişiklik HorizontalScrollbar özellik değeri doğru.

  5. Çift ExecSP.

  6. Kodu Kopyala Visual Basic kodu listeleme ExecSP için için bu işlev.

  7. Kodu güncelleştirin.Başvurular değiştirmek server ana bilgisayar adıyla tanımlanan olduğunda bitiş noktasının oluşturulduğu kullanarak create bitiş noktası.

  8. Kaydedin ve projeyi derleyin.Daha fazla bilgi için bkz: önceki alt bölümde "Kod derleniyor."

Bölüm 2: Parametresiz sql sorgusu yürütme

Bu bölümü istemci uygulama, üç çalışanlardan alan bir ad hoc sorgu (for xml sorgusu) yürütür çalışan , tablo AdventureWorks2008R2 veritabanı.

  1. Form1 içinde bulunan [Design] sekmesinde, başka bir düğme ekleyin (button1).

  2. Bu yeni düğmeyi sağ tıklatın ve seçin Özellikler.

    1. Değişiklik metin özellik değeri button1 için ExecBatchFindAllEmps.

    2. Değiştir (ad) ExecBatchFindAllEmps için özellik değeri.

  3. Çift ExecBatchFindAllEmp.

  4. Kodu Kopyala Visual Basic kodu listeleme FindAllEmps içiniçin bu işlev.

  5. Kodu güncelleştirin.Başvurular değiştirmek server ana bilgisayar adıyla tanımlanan olduğunda bitiş noktasının oluşturulduğu kullanarak create bitiş noktası.

  6. Kaydedin ve projeyi derleyin.Daha fazla bilgi için bkz: önceki alt bölümde "Kod derleniyor."

Bölüm 3: Parametreler içeren sql sorgusu yürütme

soap isteği ad hoc sorgu için sorgu parametresi içerir bu bölümü için önceki bölümü benzer olmasıdır.Çalışan bilgileri belirtilen çalışan kimliği için for xml sorgu alır

  1. Form1'de de [Design] sekmesinde, düğme ekleme (button1).

  2. Bu yeni düğmeyi sağ tıklatın ve seçin Özellikler.

    1. Değişiklik metin özellik değeri button1 için ExecBatchFindAnEmp.

    2. Değişiklik ()ad) ExecBatchFindAnEmp için özellik değeri.

  3. Çift ExecBatchFindAnEmp.

  4. Kodu Kopyala Visual Basic kodu listeleme FindAnEmp için için bu işlev.

  5. Kodu güncelleştirin.Başvurular değiştirmek server ana bilgisayar adıyla tanımlanan olduğunda bitiş noktasının oluşturulduğu kullanarak create bitiş noktası.

  6. Kaydedin ve projeyi derleyin.Daha fazla bilgi için bkz: önceki alt bölümde "Kod derleniyor."

Bölüm 4: Kullanıcı tanımlı işlevi yürütmek

Bu bölümünde, istemci uygulaması bir soap isteği gönderir UDFReturningScalar Web yöntem.Bu Web yöntem, bir tamsayı değer döndüren kullanıcı tanımlı bir işlev karşılık gelir.

  1. Form1'de de [Design] sekmesinde, başka bir düğme ekleyin (button1).

  2. Bu yeni düğmeyi sağ tıklatın ve seçin Özellikler.

    1. Değişiklik metin özellik değeri button1 , ExecUDFReturningScalar için ve

    2. Değiştir (ad) ExecUDFReturningScalar için özellik değeri.

  3. Çift ExecUDFReturningScalar.

  4. Kodu Kopyala Visual Basic kodu listeleme ExecUDF için için bu işlev.

  5. Kodu güncelleştirin.Bitiş noktası, bitiş noktası oluşturma kullanılarak oluşturulmuş olan değişikliği başvuru sunucusu ana bilgisayar adı tarafından tanımlanan.

  6. Kaydedin ve projeyi derleyin.Daha fazla bilgi için bkz: önceki alt bölümde "Kod derleniyor."

Tümleşik kimlik doğrulaması bitiş noktası belirtir çünkü kod içinde aşağıdaki satır görüntülenir:proxy.Credentials = System.Net.CredentialCache.DefaultCredentials.

Kullanırsanız, SQL Server kimlik doğrulaması öneririz, bu satır kaldırmak ve ws-güvenlik üstbilgileri için sağlanan uygulayan kod ile onun yerine SQL Server-tabanlı kimlik doğrulama kimlik bilgileri.Daha fazla bilgi için bkz: SQL Server kimlik doğrulaması soap üzerinden.

Not

Ya da kullanıyorsanız, SQL Server kimlik bilgileri doğrulaması veya temel kimlik bilgileri doğrulaması, SQL Server , kullanın, aksi takdirde olacak şifresiz metin olarak görünen kullanıcı kimlik bilgileri bilgilerinin güvenli şifreli iletimi için Güvenli Yuva Katmanı (ssl) gerektirirssl, http bitiş noktaları ile kullanmak üzere etkinleştirme hakkında daha fazla bilgi için bkz: ssl tarafından kullanım için sertifika yapılandırma.

Kod Derleniyor

SQL Serveryükler .NET Framework 2.0 bir parçası olarak, yükleme işlemi.En son bu derleme yönergeleri kullanın .NET Framework (Bu, en yüksek sayı \WINDOWS\Microsoft.NET\Framework klasörüne gidin.)

Kodu derlemek için

  • Tüm proje kaydedin.
  1. Bir komut istemi açın ve proje kaydedildiği klasörü bulun.

  2. Bu klasörden Reference.vb dosyasını Web Reference\Server alt klasörden kopyalayın (örneğin, "Web Reference\Server\Reference.vb" kopyalayın).Form1.vb ve Reference.vb dosyalarının aynı klasörde olması gerekir.

  3. Kodu derleyip yürütülebilir (.exe) dosyasının adını belirtin.Örneğin, çalıştırılabilir dosyanın adı NativeSOAPApp2.exe ise, komut satırı aşağıdaki gibi olacaktır:

    \WINDOWS\Microsoft.NET\Framework\v2.0.xxxxx\vbc.exe /out:NativeSOAPApp2.exe /r:System.dll /r:System.Data.dll /r:System.Xml.dll /r:System.Web.Services.dll /r:Microsoft.VisualBasic.dll /r:System.Drawing.dll /r:System.Windows.Forms.dll /m:Form1 Form1.vb Reference.vb

    XXXXX karşılık gelen klasör numarası olan sürüm , .NET Framework.

    Bu geçerli dizinde yürütülebilir dosya (NativeSOAPApp2.exe) oluşturur.

    Not

    Daha önceki bir sürüm kullanıyorsanız, .NET Framework, aldığınız çalışma -saat hata.Bu durumda, güncelleştirmeyi deneyin GetCustomerInfo saklı yordam ekleyerek FOR XML AUTO yan tümce tümce tümce, sonunda SELECT gösterildiği gibi deyim:

    SELECT TOP 3 SalesOrderID, OrderDate 
    FROM   SalesOrderHeader
    WHERE  CustomerID = @CustomerID
    FOR XML AUTO
    

Saklı yordam yürütme sonuçlar liste kutusunda görüntülenir.