Импорт данных в БД посредством BULK INSERT
От: madbinom  
Дата: 05.10.08 19:43
Оценка:
Как импортировать десятичные числа из текстового файла посредством сабжа, если разделитель не точка, а запятая?
В команде BULK INSERT какие-то доп. параметры?
Re: Импорт данных в БД посредством BULK INSERT
От: madbinom  
Дата: 05.10.08 19:52
Оценка:
Здравствуйте, madbinom, Вы писали:

M>Как импортировать десятичные числа из текстового файла посредством сабжа, если разделитель не точка, а запятая?

M>В команде BULK INSERT какие-то доп. параметры?
Осознал двусмысленность. Вот пример строки файла:
123,2345;67,89
Re[2]: Импорт данных в БД посредством BULK INSERT
От: VaLeRicK Украина  
Дата: 06.10.08 13:13
Оценка: 1 (1)
Здравствуйте, madbinom, Вы писали:

M>Здравствуйте, madbinom, Вы писали:


M>>Как импортировать десятичные числа из текстового файла посредством сабжа, если разделитель не точка, а запятая?

M>>В команде BULK INSERT какие-то доп. параметры?

Таких параметров нет. Как выход их положения могу посоветовать такой вариант. Сделать вьюху где искомое поле с десятичным знаком выводить как строку.
create view <view_name> as select cast(id as varchar(40)) id,... from <table>

и к нему триггер где будет меняться ',' на '.'
create trigger <tr_name> on <view_name> instead of insert
as insert <table> select replace(id,',','.'),.. from inserted

BULK INSERT делать естественно с опцией FIRE_TRIGGERS. Медленно конечно, зато работает.
... << RSDN@Home 1.2.0 alpha 4 rev. 1094>>
Re: Импорт данных в БД посредством BULK INSERT
От: MasterZiv СССР  
Дата: 06.10.08 14:17
Оценка: 1 (1)
madbinom wrote:

> Как импортировать десятичные числа из текстового файла посредством

> сабжа, если разделитель не точка, а запятая?
> В команде BULK INSERT какие-то доп. параметры?
Можно создать форматный файл, там это можно указать.
Только вы не написали, какая у вас СУБД, я вот не знаю,
в MSSQL это поддерживается или нет.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: Импорт данных в БД посредством BULK INSERT
От: madbinom  
Дата: 11.10.08 10:51
Оценка:
Здравствуйте, MasterZiv, Вы писали:

MZ>Можно создать форматный файл, там это можно указать.

MZ>Только вы не написали, какая у вас СУБД, я вот не знаю,
MZ>в MSSQL это поддерживается или нет.
База MS SQL Server 2005 Express
Например в оракле можно явно указать десятичный и тысячный разделитель в установках базы. А вот в МС непонятно как.
А где есть подробные доки про эти форматные файлы?
А то я про десятичный разделитель в форматных файлах не нашел ничего.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.