J'ai une procédure stockée qui insère des valeurs varchar
& VARBINARY(MAX)
dans la table. Je passe un C# byte[]
au champ varbinary(max)
. Je vois également que la taille de la taille byte[]
est 80142, ce qui satisfait la limite maximale de varbinary
. La procédure stockée s'exécute sans aucune erreur. Mais quand j'essaye d'interroger cette table je vois des valeurs vides dans le type de données varbinary
.SQL Server VARBINARY (MAX)
SQL sp
ALTER PROCEDURE [dbo].[Test]
-- Add the parameters for the stored procedure here
@PNumber varchar(50)
,@Byte varbinary(max)
AS
BEGIN
SET NOCOUNT ON;
-- Insert statements for procedure here
INSERT INTO [Test].[dbo].[Data]
([PNumber]
,[PByte])
VALUES
(@PNumber
,@Byte)
END
C# CODE
byte[] theData = doc.GetData();
DAL_DataTableAdapters.QueriesTableAdapter qta = new DAL_DataTableAdapters.QueriesTableAdapter();
qta.Test("test", theData);
Tableau structure:
CREATE TABLE [dbo].[Data]
(
[ID] [int] IDENTITY(1,1) NOT NULL,
[PNumber] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[PByte] [varbinary](max) NULL
) ON [PRIMARY]
Quel est le code que vous utilisez pour faire 'l'insert'? (À la fois la définition de procédure stockée et l'appel 'C#') Qu'entendez-vous par "vide" valeurs 'null' ou' 0x'? –
S'il vous plaît voir le code que j'ai ajouté. Je vois juste une ligne vide dans la colonne pbytes – Pinu
Veuillez ajouter le script CREATE pour la table de données. – Lucero