Я хотел бы получить некоторые двоичные данные от a varbinary(max)
столбец в базе данных SQL Server для отладки целей.
Что самый легкий путь состоит в том, чтобы получить эти данные в локальный двоичный файл, предпочтительно не имея необходимость писать одноразовому консольному приложению?
Я попытался использовать Studio управления SQL Server (с "результатами в файл" опция), но это производит закодированную двоичную строку шестнадцатеричного числа в файл, а не необработанные двоичные данные.
Я не могу придумать более простого способа сделать это, чем выбросить бит C # ...
static void Main(string[] args)
{
GetBinaryDataToFile("Server=localhost;Initial Catalog=ReportServer;Integrated Security=true", "D:\\temp.dat");
}
public static void GetBinaryDataToFile(string connectionString, string path)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
using (SqlCommand command = connection.CreateCommand())
{
command.CommandText = "SELECT Sid FROM Users WHERE UserID = '62066184-8403-494E-A571-438ABF938A4F'";
command.CommandType = CommandType.Text;
using (SqlDataReader dataReader = command.ExecuteReader())
{
if (dataReader.Read())
{
SqlBinary sqlBinary = dataReader.GetSqlBinary(0);
File.WriteAllBytes(path, sqlBinary.Value);
}
dataReader.Close();
}
}
connection.Close();
}
}
Этот код был протестирован с использованием столбца Users.Sid ( который имеет тип varbinary) в стандартной установке SQL Server со службами Reporting Services.