tune
-
Gesamte Inhalte
16 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Beiträge von tune
-
-
Und zwar war nicht der Microsoft ODBC-Treiber schuld, sondern ich hatte versehentlich "dataAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey" eingestellt. :hells:
Werde jetzt bei dem Microsoft ODBC-Treiber bleiben. Einfach deshalb, weil das Programm dann auf jedem XP-Rechner mit installiertem .NET Framework 2.0 lauffähig ist und der Oracle-Client nicht zwangsweise installiert werden muss.
Außerdem bin ich mit der Performance jetzt sehr zufrieden!
Nochmal vielen Dank für Eure Untersützung!
-
Das Programm soll nachher auch auf PCs läuffähig sein, auf welchen kein Oracle-Client installiert ist. Deswegen dachte ich mir nehme ich den ODBC-Treiber von Microsoft.
Hier der "entschärfte" ConnectionString:
strCon = "Driver={Microsoft ODBC for Oracle};server=servername;uid=username;pwd=geheim" -
Das mit dem DataReader werde ich mal ausprobieren wenn ich so nicht mehr weiter komme!
Habe es immer noch nicht geschafft das ODBC Tracing zu aktivieren. Verwende in meinem Programm auch keinen System / User DSN als Datenquelle, sondern verbinde mich direkt über einen ConnectionString. Ist das der Fehler?
Das Tracing des Oracle-Clients kann ich leider auch nicht laufen lassen. Habe hier keinen Oracle-Client installiert.
-
welche version von ADO.NET (respektive, welches framework) verwendest du?
welchen ODBC-treiber verwendest du - den von Oracle oder den von MS?
wenns möglich ist, poste doch auch davon die versionsnummer.
versuche auch mal, das ODBC-logging und/oder SQL*Net tracing zu aktivieren.
es macht im übrigen oftmals sinn - und ist auch tatsächlich realisierbar - dass eine anwendung sowohl für ADO.NET als als für ODBC.NET funktioniert. dass du dir aus nachvollziehbaren gründen allerdings die arbeit nicht antun willst, erscheint logisch.
s'Amstel
Verwende das .NET Framework 2.0 unter Visual Studio 2005 Express, außerdem verwende ich den Microsoft ODBC Treiber (Microsoft ODBC for Oracle, 2.575.1117.00, MSORCL32.DLL).
Habe das mit dem Logging mal versucht. Dazu muss man doch im ODBC Data Source Administrator (Administrative Tools) das Tracing aktivieren? Oder geht das an anderer Stelle? Weil der schreibt bei mir kein Logfile.
Sorry, bin noch neu auf dem Gebiet.
Schon mal vielen Dank für die Unterstützung!
-
Die Idee hatte ich auch schon, aber dazu müsste ich mein komplettes Projekt umschreiben. Gibt es denn keine andere Möglichkeit das zu beschleunigen?
Ist der Treiber wirklich so langsam?
-
Ich benutze nicht das alte RecordSet sondern das DataSet von ADO.NET (dataAdapter.Fill(ds)).
-
Ich greife mit Hilfe von ADO.NET (ODBC-Provider) auf eine Oracle 9i DB zu.
Die Methode dataAdapter.Fill(ds) dauert bei mir bis zu 10 Sekunden!
Wenn ich dieselbe SELECT-Abfrage im Oracle SQL Developer ausführe benötigt sie max. 0,4 Sekunden.
Wie kann ich das Problem beheben? Ist der Treiber allg. so langsam?
-
Hmm, habe es vorher mit einem @ versucht, worauf ich die Fehlermeldung von Oracle "missing expression" bekommen habe. Das mit dem Doppelpunkt habe ich in einem Forum gelesen.
Aber glaube ich habe jetzt herausgefunden wies geht.
Public Function GetInsertCommand(ByVal con As OdbcConnection) _As OdbcCommand
Dim strSQL As String = _
"INSERT INTO processstep (prst_id, prst_name) "
strSQL &= "Values(?, ?)"
Dim cmd As OdbcCommand = New OdbcCommand(strSQL, con)
' die Parameter der Parameters-Auflistung hinzufügen
cmd.Parameters.Add("prst_id", OdbcType.Int, 18)
cmd.Parameters.Add("prst_name", OdbcType.VarChar, 30)
Return cmd
End Function
Public Function SubmitAddedRow(ByVal cmd As OdbcCommand, _
ByVal row As DataRow) As Integer
' Parameter füllen
cmd.Parameters("prst_id").Value = row("prst_id")
cmd.Parameters("prst_name").Value = row("prst_name")
Return cmd.ExecuteNonQuery()
End Function
Trotzdem vielen Dank für die schnelle Antwort! :uli
Das ist jetzt hoffentlich die richtige Lösung, funktionieren tuts jedenfalls.
-
Ich möchte einen parametrisierten SQL-String erzeugen und diesen anschließend absetzen.
Verwende hierzu den Odbc-Provider und greife auf eine Oracle 9i Datenbank zu.
Hier mein Code:
Public Function GetInsertCommand(ByVal con As OdbcConnection) _As OdbcCommand
Dim strSQL As String = _
"INSERT INTO processstep (prst_id, prst_name) "
strSQL &= "Values(:ID, :Name)"
Dim cmd As OdbcCommand = New OdbcCommand(strSQL, con)
' die Parameter der Parameters-Auflistung hinzufügen
cmd.Parameters.Add(":ID", OdbcType.Int, 18)
cmd.Parameters.Add(":Name", OdbcType.VarChar, 30)
Return cmd
End Function
Public Function SubmitAddedRow(ByVal cmd As OdbcCommand, _
ByVal row As DataRow) As Integer
' Parameter füllen
cmd.Parameters(":ID").Value = row("prst_id")
cmd.Parameters(":Name").Value = row("prst_name")
Return cmd.ExecuteNonQuery()
End Function
Wenn ich das so absetze, wird der Datensatz nicht hinzugefügt. Wenn ich allerdings dem cmd.CommandText den SQL-String komplett zuweise, bevor ich cmd.ExecuteNonQuery() aufrufe, klappt alles.
Was mache ich falsch? Muss ich einen anderen Platzhalter verwenden?
Google konnte mir leider nicht weiterhelfen.
Schon mal vielen Dank im Voraus. Bin für jeden Tipp dankbar.
-
Ahhh, vielen Dank. Habe ich wohl übersehen ;-).
-
Darf die Visual Basic 2005 Express Edition kommerziell (z.B. für meine Projektarbeit) frei verwendet werden?
Habe dazu leider keine offiziellen Informationen im Internet gefunden.
Danke schon mal im Voraus.
-
@ scoovie:
bist du zufällig in der IFA10b2?
wenn ja, meld dich mal :-)!
Gruß
tune
-
bin IFA10b2!
:marine
-
cool, dann kann ich mich ja schon richtig auf meine Zeit in der Berufsschule freuen. :-) :marine
hoffentl. stimmt das auch alles ;-)!
@ .vash: kannst dich ja mal bei mir melden wenn du weisst in welcher Klasse du bist!
Gruß
tune
-
Hallo,
mich würde mal interessieren ob hier jemand die Berufsschule 3 in Fürth besucht. (wenn ja, welche Klasse etc.)
(bin 1. Lehrjahr)
Gruß
tune
Suche Prüfungen/Lösungen (4)
in Prüfungsaufgaben und -lösungen
Geschrieben
Bin auf der Suche nach dem GH1-Teil (AE) + Lösungen aus den Prüfungen Winter 2004/2005 und Winter 2005/2006.
Außerdem suche ich noch für die komplette Prüfung (AE) Winter 2006/2007 die Lösungen...
Wäre nett wenn sie mir jemand schicken könnte!
tune@dexyre.de
Schon mal vielen Dank im Voraus!