Zum Inhalt springen

JanGoXX

Mitglieder
  • Gesamte Inhalte

    8
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von JanGoXX

  1. Hi! Ich schreibe gerade ein SWT Programm, welches über RXTX mit einem Microcontroller kommuniziert. Die GUI öffnet dafür einen neuen Thread für die Serielle Kommunikation. Während dem Datenaustausch wird eine ProgressBar angezeigt und aktualisiert. Alles funktioniert auch so weit. Außer man andert den Window Focus (öffent beispielsweise der Internet Browser während der Datenübertragen). Wenn man dann zurück zur GUI kehrt, ist sie eingefrohren, bis der Datenaustausch feritg ist. Also Code zum seriellen Datenübertragung habe ich den von Kuligowski's Tutorial verwendet (worldwideweb dot kuligowski dot pl). Seine RS232Example Class habe ich um eine Progressbar erweitert (und in SerialCommunication um benannt): DataTransfer() wird durch drücken eines Bottons in der GUI aufgerufen. Innerhalb DataTransfer wird ein Thread zur seriellen Kommunikation erstellt. Innerhalb einem while loop frage ich ab, ob dieser Thread nch existiert. Wenn ja, dann update ich die Progress Bar. Alles geht super. Außer man ändert den Window Focus (öffnet beispielsweise der Internet Browser während der Datenübertragen). Wenn man dann zurück zur GUI kehrt, ist sie eingefrohren, bis der Datenaustausch feritg ist. Was könnte das Problem sein?
  2. So, er zerteilt jetzt den string in keine Stücke. Nur leider trägt er ihn jetzt nicht in die Oracledatenbank ein. Es kommt die Fehlermeldung: Das aktuelle Recordset unterstützt keine Aktualisieren. Hierbei handelt es sich möglicherweise um eine Einschränkung seitens des Providers oder des gewählten LockTypes. Hier ist noch mal das entscheidende Codestück: 'schreibt sie in die Oracledatenbank Dim varText As String Dim Numblocks As Integer For i = 1 To Len(source) varText = Mid(source, i, BlockSize) i = i + BlockSize - 1 rs.Fields("BLOBfld").AppendChunk varText Next i rs.update
  3. Hab das Programm jetzt abgeändert. Leider kommt die Fehlermeldung: Ungültiger Prozeduraufruf oder ungültiges Argument Hier ist das Code: Public Sub Command1_Click() 'erstellt eine Verbindung mit der Oracledatenbank Dim db As ADODB.Connection Set db = New ADODB.Connection db.Provider = "MSDAORA" db.Open "DNS", "USER", "PASS" 'öffnet die BlobTable Tabelle Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset strSQL = "Select MyID, BLOBfld from BLOBTABLE WHERE MyID = 1" rs.ActiveConnection = db rs.CursorType = adOpenKeyset rs.LockType = adLockOptimistic rs.Open strSQL, db 'holt sich die Sourcedaten aus der Accessdatenbank Dim rec As New ADODB.Recordset Dim source As String rec.Open "select DATEN from ACCESSDATEN where NR = 250157" source = rec.GetString rec.Close 'schreibt sie in die Oracledatenbank Dim varText As Variant For i = 0 To Len(source) Step BlockSize varText = Mid(source, i, BlockSize) rs.Fields("BLOBfld").AppendChunk varText Next End Sub
  4. ... vielen Dank schon mal für den Tip!!! Das hat mir schon einiges weitergeholfen. Mir ist aber immer noch nicht ganz klar, wo ich meinen string jetzt einsetzen muss. Das Bild wird ja so viel ich weiss Stückchen für Stückchen zerlegt und ich habe ja alles am Stück.
  5. ... das wäre super, wenn sie das noch mal nachschauen könnten. Ich sitze schon seit drei Tagen vor dieser Sache und komme einfach zu keinem Ergebnis.
  6. Hallo, ich muss Datensätze aus einer Access 2000 DB in eine Oracle 8i DB updaten. Dazu habe ich in VBA ein kleines Programm geschrieben, was via ODBC ein Verbindung mit der Oracle DB herstellt und die updates macht. Das funktioniert auch. Mein Problem ist, das ich auch eine Spalte mit Datensätzen mit mehr als 4000 Zeichen in der Access DB hab (meno Feld) und diese sich nicht in der Oracle DB updaten lassen, obwohl diese Spalte in der Oracle DB als long definiert ist und bereits Datensätze mit mehr wie 4000 Zeichen enthält. Ich habe gelesen, das in Oracle strings nur 4000 Zeichen haben können. Wie kann ich jetzt aber meinen string mit den Daten aus VB mit mehr als 4000 Zeichen in der Oracle DB eintragen/updaten? Ich bin am verzeifeln!!! Wäre super wenn mir jemand weiter helfen könnte...
  7. ... das stimmt. In der Oracle DB sind ja bereits auch Datensätze mit mehr als 4000 Zeichen. Das Datenfeld ist auch richtig in Oracle definiert. Die Frage ist, wie ich die Datensätze aus der Access DB da rein bekomme. Ich hohle die Datensätze via VB aus der Access DB und speicher sie in einen string (oder variant). Wenn ich diesen string dann in der Oracle DB eintragen will, kommt die Fehlermeldung: Zeichenfolge zu lang.
  8. Hallo, ich muss Datensätze aus Access 2000 DB in eine Oracle 8i DB updaten. Dazu habe ich in VBA ein kleines Programm geschrieben, was via ODBC ein Verbindung mit der Oracle DB herstellt. Das Updaten funktioniert auch soweit. Mein Problem ist, das ich Datensätze mit mehr als 4000 Zeichen in der Access DB hab und diese als string/variant nicht in der Oracle DB updaten kann, da strings in Oracle aus 4000 Zeichen limitiert sind. Wie bekomme ich die Daten jetzt in die Oracle DB??? Ich bin am verzeifeln!!! Wäre super wenn mir jemand weiter helfen könnte...

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