Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Прошу совета  [new]
Di.Ma
Member

Откуда:
Сообщений: 89
Доброго всем времени суток!
У меня есть табличка

CREATE TABLE [dbo].[Информация на физическое лицо]
(
[Системный номер] [int] NOT NULL,
[Фамилия] [varchar](MAX) NULL,
[Иная фамилия] [varchar](MAX) NULL,
[Имя] [varchar](MAX) NULL,
[Отчество] [varchar](MAX) NULL,
[Дата рождения] [datetime] NULL,[Дата ответа оператора] [varchar](30) NULL,
[Время ответа оператора] [varchar](30) NULL,
[Оператор] [varchar](150) NULL,

[Примечание оператора1] [varchar](MAX) NULL,
[Отложить] [varchar](MAX) NULL,

[Ручной ввод] [varchar](30) NULL,

[Имя файла] [varchar](MAX) NULL,
[Связь заявок] [varchar](MAX) NULL,

CONSTRAINT [PK_Информация на физическое лицо_Системный номер]
    PRIMARY KEY CLUSTERED ([Системный номер])
    WITH (IGNORE_DUP_KEY = ON)
) 

ON [PRIMARY]


данные в нее загружаю их текстового файла с разделителем "~", при помощи
BULK INSERT  [dbo].[Информация на физическое лицо]  FROM 'X:\BD_SQL\test\BD\1.txt'

	WITH(
		BATCHSIZE = 10,
		CHECK_CONSTRAINTS,
		FIELDTERMINATOR ='~',
		ROWTERMINATOR = '\n',
		FIRSTROW = 2, 
		FIRE_TRIGGERS,
		CODEPAGE =  'RAW',
		TABLOCK,
		MAXERRORS = 0
	)

Все хорошо, но вот в чем проблема, у меня последний разделитель не читается и получается что 5 последних полей сдвинулись вправо, а в последнее поле вообще попал разделитель полей!
Подскажите как решить сию проблему!
26 июн 09, 09:59    [7346224]     Ответить | Цитировать Сообщить модератору
 Re: Прошу совета  [new]
Glory
Member

Откуда:
Сообщений: 104760
Чудес не бывает. Значит послденяя строка на соответствует формату. Например, нет в конце \n
26 июн 09, 10:03    [7346257]     Ответить | Цитировать Сообщить модератору
 Re: Прошу совета  [new]
Di.Ma
Member

Откуда:
Сообщений: 89
Glory,

а как еще можно перевести каретку?
Хотя там 15 строк и все попадают, но вот данные смещаются именно на последних 5 полях!
26 июн 09, 10:12    [7346304]     Ответить | Цитировать Сообщить модератору
 Re: Прошу совета  [new]
Glory
Member

Откуда:
Сообщений: 104760
Di.Ma
Glory,

а как еще можно перевести каретку?

А вы визуально что ли проверяете наличие разделителей строк ?
26 июн 09, 10:14    [7346315]     Ответить | Цитировать Сообщить модератору
 Re: Прошу совета  [new]
Di.Ma
Member

Откуда:
Сообщений: 89
ну да, пришлось просто взять и проверить количество, уже все перепробовал, даже не знаю, может и не правильно посчитал!
А можно как нибудь вывести количество разделителей по строке из файла в запросе?
26 июн 09, 10:21    [7346355]     Ответить | Цитировать Сообщить модератору
 Re: Прошу совета  [new]
Glory
Member

Откуда:
Сообщений: 104760
Di.Ma
ну да, пришлось просто взять и проверить количество, уже все перепробовал, даже не знаю, может и не правильно посчитал!
А можно как нибудь вывести количество разделителей по строке из файла в запросе?

Я вообще то говорил про разделитель строк а не столбцов ? Или вы и CR/LF-ы тоже невооруженным глазом видите ?
26 июн 09, 10:23    [7346368]     Ответить | Цитировать Сообщить модератору
 Re: Прошу совета  [new]
Di.Ma
Member

Откуда:
Сообщений: 89
Аааа, разделители строк не проверял, щас надо проверить!
Просто подумал, мало ли, количество разделителей полей не соответствует количеству полей
А вообще есть процедура метода подсчета количества символов в строке?
26 июн 09, 10:25    [7346382]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить