Ответ 1
Два вопроса:
Проблема №1: больше не используйте TEXT
- он устарел. Используйте VARCHAR(n)
с подходящим размером n
, или если вы действительно должны (только если вы ДЕЙСТВИТЕЛЬНО), используйте VARCHAR(MAX)
CREATE TABLE dbo.CONNECT_USER
(
NUM_TRF int,
NAME varchar(255),
DESCRIPTION varchar(1000),
REPORT varbinary(max)
)
Я лично также не буду писать ВСЕ ВСЕ В КАПСАХ - это просто усложняет чтение! И я попытался бы избежать очень общих имен столбцов, таких как Name
или Description
- они не очень интуитивно понятны и могут столкнуться с другими столбцами таблицы и/или с зарезервированными ключевыми словами SQL Server. Попытайтесь использовать более выразительные, более контекстные имена столбцов, которые имеют смысл в вашей среде (ConnectUsername
или что-то еще)
Проблема # 2: при выполнении INSERT
я бы рекомендовал всегда определить столбец, в который вы хотите вставить. Это позволяет избежать неприятных неожиданностей при реструктуризации таблицы или добавлении новых столбцов:
INSERT INTO [MY_DB_APP].[dbo].[CONNECT_USER](NUM_TRF, NAME, DESCRIPTION, REPORT)
VALUES(1, 'name', 'description', CAST('wahid' AS VARBINARY(MAX)))
GO