Как скрепить Varbinary, чтобы скопировать его из одного DB в другой, используя скрипт?

StackOverflow https://stackoverflow.com/questions/4826574

Вопрос

Мне нужно сгенерировать сценарий SQL вставки для копирования данных с одного SQL Server на другой. Таким образом, с .net я читаю данные о данной таблице SQL Server и записываю это в новый текстовый файл, который затем можно выполнить, чтобы вставить эти данные в другие базы данных.

Один из столбцов - это варбина (макс).
Как и могу ли я преобразовать полученный байт [] в текст для сценария, чтобы он все еще мог быть вставлен в другие базы данных?

SSMS показывает эти данные в виде шестигранной строки. Это формат для использования? Я могу получить тот же формат со следующим

BitConverter.ToString(<MyByteArray>).Replace("-", "")

Но как это можно снова вставить?
Я старался

CONVERT(VARBINARY(MAX), "0xMyHexString")

Это делает вставку, но значение не то же самое, что в таблице источников.

Это было полезно?

Решение

Оказалось, что вы можете просто напрямую вставить шестнадцатеричную строку, не нужно что -либо конвертировать:

INSERT TableName (VarBinColumnName) 
VALUES (0xMyHexString)

Только не спрашивай, почему я не проверял это напрямую ...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top