Как скрепить Varbinary, чтобы скопировать его из одного DB в другой, используя скрипт?
-
26-10-2019 - |
Вопрос
Мне нужно сгенерировать сценарий SQL вставки для копирования данных с одного SQL Server на другой. Таким образом, с .net я читаю данные о данной таблице SQL Server и записываю это в новый текстовый файл, который затем можно выполнить, чтобы вставить эти данные в другие базы данных.
Один из столбцов - это варбина (макс).
Как и могу ли я преобразовать полученный байт [] в текст для сценария, чтобы он все еще мог быть вставлен в другие базы данных?
SSMS показывает эти данные в виде шестигранной строки. Это формат для использования? Я могу получить тот же формат со следующим
BitConverter.ToString(<MyByteArray>).Replace("-", "")
Но как это можно снова вставить?
Я старался
CONVERT(VARBINARY(MAX), "0xMyHexString")
Это делает вставку, но значение не то же самое, что в таблице источников.
Решение
Оказалось, что вы можете просто напрямую вставить шестнадцатеричную строку, не нужно что -либо конвертировать:
INSERT TableName (VarBinColumnName)
VALUES (0xMyHexString)
Только не спрашивай, почему я не проверял это напрямую ...
Другие советы
Есть два вопроса, которые могут помочь:
Какой самый быстрый способ получить данные Varbinary от SQL Server в массив C# Byte?
а также