Zum Inhalt springen

tune

Mitglieder
  • Gesamte Inhalte

    16
  • Benutzer seit

  • Letzter Besuch

Beiträge von tune

  1. 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!

  2. 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.

  3. 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!

  4. 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.

  5. 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.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...