it-swarm.com.de

Wie kopiere ich Blob (Binärdaten) mithilfe eines Skripts von einer Datenbank in eine Datenbank?

Wir versuchen, ein blob (Binärdaten) mit einem einfachen Skript von einer Datenbank in eine andere Datenbank zu kopieren. Dies sind die Schritte, die wir tun.

  1. Wählen Sie den Wert mit MSSQL Studio Client aus.
  2. Kopieren Sie es in die Zwischenablage.
  3. Fügen Sie es mit INSERT in ein notepad -Skript ein.
  4. Wenden Sie es in der Zieldatenbank an.

Wir bemerken, dass der Wert jetzt ein ASCII ist, das mit 0x255.... Beginnt, was die hexadecimal Darstellung der binary Daten zu sein scheint. Gibt es eine Möglichkeit, es während des Einfügens wieder in eine Binärdatei umzuwandeln?

Gibt es eine bessere Möglichkeit, blob -Daten mithilfe von Skripten zu kopieren? Angenommen, wir haben keine direkte Verbindung zur Zieldatenbank.

9
Nishant

Ich würde die Option "Skripte generieren" in SQL Server Management Studio verwenden.

  1. Markieren Sie im Objekt-Explorer die Datenbank, in der sich die Quelltabelle befindet.
  2. Kontextmenü - Aufgaben | Skripte generieren
  3. Wählen Sie ein bestimmtes Tabellenobjekt aus - klicken Sie auf Nächste Seite
  4. Klicken Sie auf die Schaltfläche Erweitert
  5. Unter Allgemeine Optionen - Ändern Sie 'Datentyp in Skript' in " Nur Daten "
  6. In Datei speichern - Ordner und Dateinamen nach Bedarf ändern.

Ich habe einen einfachen Test mit einer Tabelle versucht, in der ein varbinary -Feld gespeichert ist. Die Ausgabe des Scripting-Prozesses sah in Ordnung aus:

USE [TestDB]
GO
/****** Object:  Table [dbo].[tjc_blob]    Script Date: 07/04/2017 14:46:23 ******/
INSERT [dbo].[tjc_blob] ([id], [datablob])
VALUES (1, 0x6162636465666768696A6B6C6D6E6F707172737475767778797A)
10
Terry C