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