varchar
& VARBINARY(MAX)
값을 테이블에 삽입하는 저장 프로 시저가 있습니다. varbinary(max)
필드에 C# byte[]
을 전달합니다. 나는 또한 varbinary
의 최대 한도를 만족하는 크기가 byte[]
인 80142임을 확인합니다. 저장 프로시 저는 오류없이 실행됩니다. 그러나 해당 테이블을 쿼리하려고하면 varbinary
데이터 형식의 빈 값이 나타납니다.SQL 서버 VARBINARY (MAX)
SQL 특검팀
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# 코드
byte[] theData = doc.GetData();
DAL_DataTableAdapters.QueriesTableAdapter qta = new DAL_DataTableAdapters.QueriesTableAdapter();
qta.Test("test", theData);
테이블 구조 :
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]
'삽입'을 수행하는 데 사용하는 코드는 무엇입니까? (저장 프로 시저 정의와 'C#'호출 모두) 또한 "빈 값"이 "null"또는 "0x"이면 무엇을 의미합니까? –
내가 추가 한 코드를 참조하십시오. 그냥 pbytes 열에 빈 줄이 표시됩니다. – Pinu
데이터 테이블에 대한 CREATE 스크립트를 추가하십시오. – Lucero