zerberos Geschrieben 5. September 2007 Geschrieben 5. September 2007 Hallo, was ist die schnellste Methode um auf eine Oracle Datenbank zuzugreifen? using System.Data.OleDb; oder using System.Data.OracleClient; Programmiersprache ist c# Bei oledb lauttet der connection string ja so: Provider=MSDAORA;User ID=user1;password=user1; Data Source=data23 wie lautet die beim Einsatz von oracleclient?
Amstelchen Geschrieben 5. September 2007 Geschrieben 5. September 2007 was ist die schnellste Methode um auf eine Oracle Datenbank zuzugreifen? depends. es gibt weder *die* schnellste, noch *die* schnellere, denn das ist in meinen augen von vielen (hunderten?) faktoren abhängig: - verbindungspooling - binden von variablen - rückgabetyp einer operation (datensatz, skalar, oder garnix) - möglichkeit zur leichten portierbarkeit - verwendung von cursors für mich fallen beide datenzugriffsarten unter ADO.NET, und man kann da durchaus mischen. wie lautet die beim Einsatz von oracleclient? AFAIR lautet der provider dann System.Data.OracleClient, nicht MSDAORA. sonst ändert sich nichts, User ID und etwaige andere parameter im connection string bleiben unverändert. s'Amstel
zerberos Geschrieben 5. September 2007 Autor Geschrieben 5. September 2007 was muss ich dann als provider schreiben? hab gerade mal nen paar sachen ausprobiert. der akzeptiert es anscheinend auch wenn man garkeinen provider schreibt... OracleConnection con = new OracleConnection("User ID=user1;password=user1; Data Source=data23"); würde als provider dann einfach nur oracle stehen?
Amstelchen Geschrieben 5. September 2007 Geschrieben 5. September 2007 ok, erscheint logisch. der referenz zufolge dürfte beim "ADO.NET provider für oracle" der provider weggelassen werden, sobald die assembly System.Data.OracleClient referenziert wird; weil wenn OracleConnection verwendet wird und nicht z.b. ODP.NET - welches eine andere assembly verwendet - muss ich ja den provider nicht nochmals explizit angeben. s'Amstel
zerberos Geschrieben 5. September 2007 Autor Geschrieben 5. September 2007 ok! da ich ja momentan dabei bin alles etwas zu optimieren will ich auch mdas füllen meinen datagridviews optimieren momentan fülle ich das so: OracleDataAdapter DataAdapter = new OracleDataAdapter(commandString, con); DataTable dt = new DataTable(); DataAdapter.Fill(dt); dataGridView1.DataSource = dt; Da dies aber zum Teil ziemlich lange dauert, versuche ich den Prozess etwas zu optimieren. ich bin dabei auf die Idee gekommen anstatt des DataAdapter vielleicht nen DataReader zu benutzen, da so das auslesen der daten schneller gehen könnte. Nur weiß ich jetzt nicht so recht, wie ich danach weiter vorgehen soll. Weil ich kann ja mit dem DataReader nicht ohne weiteres die DataTable füllen wie ich es bis jetzt gemacht habe oder?
dr.dimitri Geschrieben 9. September 2007 Geschrieben 9. September 2007 Hi, Dein Poblem liegt wohl weniger an der Zugriffstechnologie, sondern an dem SQL das Du ausführst. Dort solltest Du mal ansetzen. Dim
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden