Pomocí uložené procedury stačí vytvořit parametr typu varbinary(max) a vložit jej do tabulky jako jakýkoli datový typ.
Ve svém kódu c# (nebo vb nebo cokoliv jiného) přidejte parametr do objektu příkazu sql a nastavte pole bajtů jako hodnotu parametru:
command.Parameters.AddWithValue("@parameter_name", myByteArray);
Pokud nepoužíváte uloženou proceduru, můžete pravděpodobně udělat totéž s parametrizovaným příkazem SQL, ale to jsem nikdy nezkoušel, takže nemohu uvést příklad.
Upravit:
Používáte parametrizovaný dotaz, což není moje věc, takže nemohu zaručit, že to bude fungovat. Ale tady je nějaký kód, který by vás měl dostat do pohybu.
RemoteSQLcmd = New SqlCommand("INSERT INTO Table(1) Values (newid(), ProductID, @bin_value", RemoteSQLConn)
RemoteSQLcmd.Parameters.AddWithValue(@bin_value", imSource) ;
Binární hodnota musí být reprezentována jako parametr (@bin_value) a hodnota je nastavena příkazem AddWithValue. Název parametru se nemusí shodovat s názvem sloupce.
Několik poznámek:Navrhoval bych použití názvů sloupců ve vašem příkazu insert spíše než v závislosti na pozici sloupce. Také nevím, co myslíte výrazem 'table(1)' - je to skutečně název tabulky?