none
Image/Bild im Blob-Format migrieren RRS feed

  • Frage

  • Hallo,
    in einer Oracle-DB bestehen bereits Bilder im BLOB-Format (in einer seperaten Spalte). Ist es möglich, diese erfolgreich zu migrieren (nach MS CRM 4.0)?
    Leider habe ich in Bezug auf dieses BLOB-Format garkeine Kenntnisse.

    Vielen Dank im Voraus für die Antworten und für die Hilfe.

    Viele Grüße
    Donnerstag, 29. Oktober 2009 11:25

Antworten

  • Hallo,

    praktisch habe ich es noch nicht gemacht, theoretisch sollte es aber problemlos funktionieren.

    Beide RDBMS speichern in BLOB Feldern reine Byte-Werte und fügen keine Extra-Daten hinzu; Interpretation ist eh Aufgabe des Frontends.

    Wenn Du von den Daten ein SpoolOut machst, wirst Du in der Exportdatei für das Feld Textwerte wie '0xFE1A00...' finden, eben die Hex-Werte für die einzelnen Bytes.
    Die kann auch der Sql Server als solche interpretieren.

    DECLARE @blob varbinary(max);

    SET @blob = 0xFE1A00

    SELECT @blob


    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Donnerstag, 29. Oktober 2009 12:04
  • Wenn Du einen SQL Server und das SSMS = Sql Sevrer Management Studio zur Hand und Zugriff auf Oracle + Sql Server hast, manch mal folgendes:

    In SSMS neue Datenbank im Sql Server anlegen oder eine vorhandene auswählen.
    Rechte Maus auf die DB => Tasks => Daten importieren.
    Es startet dann der DTS = Data Transformation Service Wizard, der Dich durch die Datenübernahme führt; ist sehr einfach und intuitive.
    Führe das mal versuchsweise mit einer Tabelle aus, um die Datenmengen zu beschränken, kannst Du auf der Quelle auch filtern.
    So kannst Du auch alle Tabellen übernehmen.
    So es regelmäßig erfolgen, kann man das auch als SSIS (Sql Server Integration Service) Paket anlegen, und zeitgesteuert ausführen.

    Dann bietet MS auch den SSMA = Sql Server Migration Assistent an, der Oracle DBs migrieren kann, siehe
    http://www.microsoft.com/downloads/results.aspx?pocId=&freetext=oracle%20migration&DisplayEnglishAlso=on&DisplayLang=de
    Dazu gibt es auch Anleitungen, Whitepapers etc.
    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Donnerstag, 29. Oktober 2009 15:45
  • "SpoolOut "ist der Export von Daten aus Oracle raus in eine Datei.
    Ich meine, das wäre nur eine Script Anweisung, dass das Ergebnis einer Selection in eine Datei geschrieben wird; bei Bedarf kann ich unsere Oracle-DBAs fragen.
    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Freitag, 30. Oktober 2009 09:11

Alle Antworten

  • Hallo,

    praktisch habe ich es noch nicht gemacht, theoretisch sollte es aber problemlos funktionieren.

    Beide RDBMS speichern in BLOB Feldern reine Byte-Werte und fügen keine Extra-Daten hinzu; Interpretation ist eh Aufgabe des Frontends.

    Wenn Du von den Daten ein SpoolOut machst, wirst Du in der Exportdatei für das Feld Textwerte wie '0xFE1A00...' finden, eben die Hex-Werte für die einzelnen Bytes.
    Die kann auch der Sql Server als solche interpretieren.

    DECLARE @blob varbinary(max);

    SET @blob = 0xFE1A00

    SELECT @blob


    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Donnerstag, 29. Oktober 2009 12:04
  • Hallo, danke schonmal für die Antwort!
    Wäre es möglich, dieses Vorgehen etwas detaillierter zu erklären?

    Vielen Dank schon mal.
    Viele Grüße
    Donnerstag, 29. Oktober 2009 15:01
  • Wenn Du einen SQL Server und das SSMS = Sql Sevrer Management Studio zur Hand und Zugriff auf Oracle + Sql Server hast, manch mal folgendes:

    In SSMS neue Datenbank im Sql Server anlegen oder eine vorhandene auswählen.
    Rechte Maus auf die DB => Tasks => Daten importieren.
    Es startet dann der DTS = Data Transformation Service Wizard, der Dich durch die Datenübernahme führt; ist sehr einfach und intuitive.
    Führe das mal versuchsweise mit einer Tabelle aus, um die Datenmengen zu beschränken, kannst Du auf der Quelle auch filtern.
    So kannst Du auch alle Tabellen übernehmen.
    So es regelmäßig erfolgen, kann man das auch als SSIS (Sql Server Integration Service) Paket anlegen, und zeitgesteuert ausführen.

    Dann bietet MS auch den SSMA = Sql Server Migration Assistent an, der Oracle DBs migrieren kann, siehe
    http://www.microsoft.com/downloads/results.aspx?pocId=&freetext=oracle%20migration&DisplayEnglishAlso=on&DisplayLang=de
    Dazu gibt es auch Anleitungen, Whitepapers etc.
    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Donnerstag, 29. Oktober 2009 15:45
  • Hallo Olaf,
    danke für die ausführliche Beschreibung.
    Ich wollte eigentlich noch wissen, was ein sogenannter SpoolOut ist und wie ich diesen ausführe?

    Vielen lieben Dank für die ganzen Erklärungen!
    Freitag, 30. Oktober 2009 07:56
  • "SpoolOut "ist der Export von Daten aus Oracle raus in eine Datei.
    Ich meine, das wäre nur eine Script Anweisung, dass das Ergebnis einer Selection in eine Datei geschrieben wird; bei Bedarf kann ich unsere Oracle-DBAs fragen.
    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Freitag, 30. Oktober 2009 09:11