Gebruik een opgeslagen procedure, maak gewoon een parameter van het type varbinary(max) en voeg deze in de tabel in zoals u dat met elk gegevenstype zou doen.
Voeg in uw c# (of vb of wat dan ook) code een parameter toe aan uw sql-opdrachtobject en stel de bytearray in als de parameterwaarde:
command.Parameters.AddWithValue("@parameter_name", myByteArray);
Als je geen opgeslagen procedure gebruikt, kun je waarschijnlijk hetzelfde doen met een SQL-instructie met parameters, maar ik heb dat nooit geprobeerd, dus ik kan geen voorbeeld geven.
Bewerken:
U gebruikt een geparametriseerde query, wat niet mijn ding is, dus ik kan niet garanderen dat dit zal werken. Maar hier is een code die je op weg zou moeten helpen.
RemoteSQLcmd = New SqlCommand("INSERT INTO Table(1) Values (newid(), ProductID, @bin_value", RemoteSQLConn)
RemoteSQLcmd.Parameters.AddWithValue(@bin_value", imSource) ;
De binaire waarde moet worden weergegeven als een parameter (@bin_value), en de waarde wordt ingesteld door de AddWithValue-instructie. De parameternaam hoeft niet overeen te komen met de kolomnaam.
Een paar opmerkingen:ik zou willen voorstellen om kolomnamen te gebruiken in uw insert-instructie in plaats van afhankelijk te zijn van de kolompositie. Ik weet ook niet wat u bedoelt met 'tabel(1)' - is dat eigenlijk de naam van de tabel?