SqlDataSource ve Oracle DataProvider'ın ben ODP.NET ile sqlDataprovider kullanabilmek için gibi olamaz

oy
0

Ben bir kahin saklı yordam karşı benim SqlDataProvider çalıştırmak isterler. Ben Microsoft'un Oracle sağlayıcı kullanabilirsiniz ama beni bir saklı yordamını çağırmak için izin vermedi. kimse bu işe almanız mümkün olmuştur? Özellikle bağlama bildirim verilerini kullanmak isterler. I programlama bir DataTable oluşturmak mümkün olmuştur ama .aspx bildirimli bunu yapmak istiyor.

Oluştur 09/12/2008 saat 22:02
kaynak kullanıcı
Diğer dillerde...                            


2 cevaplar

oy
2

SqlDataProvider SqlConnection ve diğer sınıflar neredeyse evrensel SQL Server belirli uygulamalara atıfta ad alanlarını System.Data gelen Sql öneki. Microsoft yayımlandı System.Data.OracleClient kitaplığı kullanarak saklı bir yordam çağırmak için, ancak, mümkündür.

OracleCommand inşa ederken CommandType geçen emin olun. StoredProcedure . Aksi takdirde veritabanı altyapısı 'tablo doğrudan erişimine varsayılan olarak, ve o saklı yordam adıyla bir tablo bulamazsınız çünkü, bitti düşeceğiz.

İşte bu perde arkasında nasıl olacağı konusunda bazı örnek kod:

using (OracleConnection conn = new OracleConnection("connection string here"))
{
    conn.Open();

    OracleCommand command = conn.CreateCommand();
    command.CommandType = CommandType.StoredProcedure;

    command.CommandText = "DATABASE_NAME_HERE.SPROC_NAME_HERE";
    // Call command.Parameters.Add to add your parameters.

    using (OracleReader reader = command.ExecuteReader())
    {
        while(reader.Read())
        {
            // Process each row
        }
    }

}

ASP .NET kullanırken, gibi tanımlanmış bir bağlantı dizesi ile oracle istemcisi acces SqlDataSource kullanabilirsiniz:

<add name="OracleConnectionString"
  connectionString="Data Source=YourServer;Persist 
    Security Info=True;Password="******";User ID=User1"
  providerName="System.Data.OracleClient" />

Biz orada OracleClient bit var unutmayın. Sonra SqlDataSource üzerinde Seç set CommandType ASPX sayfasında StoredProcedure olmak için üzerine ve dinlenme SQL Server gibi hemen hemen eserleri (aslında, aslında SQL Server sürümü aramaya bunu yapmak zorunda).

Sonuç biraz benzemekle:

  <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:OracleConnectionString %>"
            ProviderName="<%$ ConnectionStrings:OracleConnectionString.ProviderName %>" SelectCommand='TEST_ONE' SelectCommandType="StoredProcedure" ></asp:SqlDataSource>
Cevap 14/12/2008 saat 12:40
kaynak kullanıcı

oy
0

İşte Tablo benzeri seçme deyimini döndürmek için adımlardır ::

1) io_cursor OLARAK ORTAYA CURSOR parametrelerinde eklemek sonra seçin bir imleç dönmelidir

2) Eğer başka bir parametre eklemek tüketin zaman

<asp:Parameter Name="io_cursor" Direction="Output" />

3) 'seçme' olayı için olay yordamını ekleme

4) void SqlDataSource1_Selecting korumalı (object sender, SqlDataSourceSelectingEventArgs e) {((System.Data.OracleClient.OracleParameter) e.Command.Parameters [0]) OracleType = System.Data.OracleClient.OracleType.Cursor.; }

Şimdi iyi çalışacak.

Cevap 08/03/2013 saat 19:05
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more