Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Inserisci i dati varbinary nel database di SQL Server

Due problemi:

Problema n. 1 :non usare TEXT più - è deprecato. Usa un VARCHAR(n) con una dimensione adeguata di n , o se tu davvero deve (solo se DAVVERO deve), utilizzare VARCHAR(MAX)

CREATE TABLE dbo.CONNECT_USER
(
    NUM_TRF int,
    NAME varchar(255),
    DESCRIPTION varchar(1000),
    REPORT varbinary(max)
)

Personalmente eviterei anche di scrivere TUTTO IN MAIUSCOLO - questo lo rende molto più difficile da leggere! E cercherei di evitare molto generici nomi di colonne come Name o Description - quelli non sono molto intuitivi e potrebbero entrare in collisione con colonne di altre tabelle e/o con parole chiave riservate di SQL Server. Prova a usare più espressivo , più nomi di colonne correlati al contesto che hanno senso nel tuo ambiente (ConnectUsername o altro)

Numero 2 :quando si esegue un INSERT , consiglierei di sempre definisci la colonna in cui vuoi inserire. In questo modo si evitano spiacevoli sorprese quando si ristruttura una tabella o si aggiungono nuove colonne:

INSERT INTO [MY_DB_APP].[dbo].[CONNECT_USER](NUM_TRF, NAME, DESCRIPTION, REPORT)
VALUES(1, 'name', 'description', CAST('wahid' AS VARBINARY(MAX)))
GO