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