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

Откуда:
Сообщений: 28
Как импортировать в 1 таблицу сразу, например 10, txt файлов?
20 мар 09, 12:49    [6953954]     Ответить | Цитировать Сообщить модератору
 Re: импорт множества файлов  [new]
Glory
Member

Откуда:
Сообщений: 104760
big_jump
Как импортировать в 1 таблицу сразу, например 10, txt файлов?

Например, 10 раз запустить Import/Export Wizard
20 мар 09, 12:55    [6954004]     Ответить | Цитировать Сообщить модератору
 Re: импорт множества файлов  [new]
big_jump
Member

Откуда:
Сообщений: 28
Glory
big_jump
Как импортировать в 1 таблицу сразу, например 10, txt файлов?

Например, 10 раз запустить Import/Export Wizard


А если этих файлов 1000? Не хочу заработать тунельный синдром
20 мар 09, 13:00    [6954061]     Ответить | Цитировать Сообщить модератору
 Re: импорт множества файлов  [new]
Glory
Member

Откуда:
Сообщений: 104760
big_jump
Glory
big_jump
Как импортировать в 1 таблицу сразу, например 10, txt файлов?

Например, 10 раз запустить Import/Export Wizard


А если этих файлов 1000? Не хочу заработать тунельный синдром

Ну тогда может начнете с нормальной постановки задачи ?
А то у вас то 10 файлов, то 1000
20 мар 09, 13:02    [6954072]     Ответить | Цитировать Сообщить модератору
 Re: импорт множества файлов  [new]
big_jump
Member

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

Не пойму чего я не понятного написал? Есть куча файлов, их надо за 1 раз засунуть(импортировать) в 1 таблицу.
20 мар 09, 13:06    [6954101]     Ответить | Цитировать Сообщить модератору
 Re: импорт множества файлов  [new]
tpg
Member

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

Не пойму чего я не понятного написал? Есть куча файлов, их надо за 1 раз засунуть(импортировать) в 1 таблицу.
Сцепите в один и засуньте за 1 раз.
20 мар 09, 13:08    [6954113]     Ответить | Цитировать Сообщить модератору
 Re: импорт множества файлов  [new]
Glory
Member

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

Не пойму чего я не понятного написал? Есть куча файлов, их надо за 1 раз засунуть(импортировать) в 1 таблицу.

Ну так напишите приложение - причем тут MSSQL то ?
20 мар 09, 13:08    [6954122]     Ответить | Цитировать Сообщить модератору
 Re: импорт множества файлов  [new]
big_jump
Member

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

Я пытался найти прогу, которая склеивает множество в 1 файл, но у меня файлы без расширения, хотя и текстовые. Массово переименовать их не получилось. Может подскажите прогу которая сможет склеить?
20 мар 09, 13:13    [6954157]     Ответить | Цитировать Сообщить модератору
 Re: импорт множества файлов  [new]
big_jump
Member

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

Не пойму чего я не понятного написал? Есть куча файлов, их надо за 1 раз засунуть(импортировать) в 1 таблицу.

Ну так напишите приложение - причем тут MSSQL то ?


Я прошу, пожайлуста, не отвечайте больше, от вас никакой пользы.
20 мар 09, 13:13    [6954163]     Ответить | Цитировать Сообщить модератору
 Re: импорт множества файлов  [new]
Glory
Member

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

Не пойму чего я не понятного написал? Есть куча файлов, их надо за 1 раз засунуть(импортировать) в 1 таблицу.

Ну так напишите приложение - причем тут MSSQL то ?


Я прошу, пожайлуста, не отвечайте больше, от вас никакой пользы.

От меня гораздо больше пользы, чем от ваших невнятных тем.
Если вы не в состоянии оформить свои желания в понятный текст, то прошу вас больше не публиковать вопросы
20 мар 09, 13:18    [6954204]     Ответить | Цитировать Сообщить модератору
 Re: импорт множества файлов  [new]
kolobok
Member

Откуда: Нижний Новгород
Сообщений: 47
big_jump, не нервничайте, пожалуйста.
из сказанного Вами не совсем ясна постановка задачи.

свою задачу загрузки множества ОДНОТИПНЫХ (т.е. с одинаковой структурой) файлов я решаю с помощью BULK INSERT. Имя загружаемого файла передаю как параметр в динамич. запрос с BULK INSERT`ом в цикле по спику файлов. список файлов на диске можно получить, например, средствами ОС через master..xp_cmdshell.
20 мар 09, 13:20    [6954221]     Ответить | Цитировать Сообщить модератору
 Re: импорт множества файлов  [new]
big_jump
Member

Откуда:
Сообщений: 28
Собственно нашол как склеить файлы, про тему можно забыть.
20 мар 09, 13:28    [6954291]     Ответить | Цитировать Сообщить модератору
 Re: импорт множества файлов  [new]
komrad
Member

Откуда:
Сообщений: 5491
big_jump
tpg,

Я пытался найти прогу, которая склеивает множество в 1 файл, но у меня файлы без расширения, хотя и текстовые. Массово переименовать их не получилось. Может подскажите прогу которая сможет склеить?


все проги уже есть под рукой
выполните в командной строке

copy *. ttl.txt
получите в одном файле содержимое файлов без расширения в текущей папке
20 мар 09, 13:29    [6954301]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: импорт множества файлов  [new]
da haroch
Member

Откуда:
Сообщений: 323
kolobok
big_jump, не нервничайте, пожалуйста.
из сказанного Вами не совсем ясна постановка задачи.

свою задачу загрузки множества ОДНОТИПНЫХ (т.е. с одинаковой структурой) файлов я решаю с помощью BULK INSERT. Имя загружаемого файла передаю как параметр в динамич. запрос с BULK INSERT`ом в цикле по спику файлов. список файлов на диске можно получить, например, средствами ОС через master..xp_cmdshell.


а вы можете привести пример? мне тоже нужно это сделать, но я пока не могу сообразить=)
17 фев 15, 13:33    [17276053]     Ответить | Цитировать Сообщить модератору
 Re: импорт множества файлов  [new]
Glory
Member

Откуда:
Сообщений: 104760
da haroch
kolobok
big_jump, не нервничайте, пожалуйста.
из сказанного Вами не совсем ясна постановка задачи.

свою задачу загрузки множества ОДНОТИПНЫХ (т.е. с одинаковой структурой) файлов я решаю с помощью BULK INSERT. Имя загружаемого файла передаю как параметр в динамич. запрос с BULK INSERT`ом в цикле по спику файлов. список файлов на диске можно получить, например, средствами ОС через master..xp_cmdshell.


а вы можете привести пример? мне тоже нужно это сделать, но я пока не могу сообразить=)

Вы думаете он вам ответит 6 лет спустя ?
17 фев 15, 13:35    [17276086]     Ответить | Цитировать Сообщить модератору
 Re: импорт множества файлов  [new]
da haroch
Member

Откуда:
Сообщений: 323
Glory, оу, а я и не заметила что 6 лет то. Ну вдруг ответит.=)
17 фев 15, 13:38    [17276112]     Ответить | Цитировать Сообщить модератору
 Re: импорт множества файлов  [new]
гр к
Guest
da haroch
...

а вы можете привести пример? мне тоже нужно это сделать, но я пока не могу сообразить=)

Раньше вроде работало, но не факт, что листинг именно рабочего вар-та
ALTER FUNCTION [dbo].[uf_BulkInsFlatFileList] 
(
	@tbl_in NVarChar(100), 
	@flatfilename NVarChar(200),
	@flatfiledir NVarChar(300)
)
RETURNS NVarChar(1000)
AS
BEGIN
--SET NOCOUNT ON;
DECLARE @strSQLStatement NVarChar(1000);
DECLARE @strFullName NVarChar(800);
Set @strFullName=@flatfiledir+@flatfilename;
SET @strSQLStatement=
'BULK INSERT ' + @tbl_in +
' FROM ' +''''+@strFullName+''''+
' WITH (FIELDTERMINATOR ='';'' ,FIRSTROW =1)';
RETURN  @strSQLStatement;  
END
17 фев 15, 15:46    [17277119]     Ответить | Цитировать Сообщить модератору
 Re: импорт множества файлов  [new]
гр к
Guest
Alter PROCEDURE p_Bulk 
(
	@strtbl_in NVarChar(100)--, 
)
AS
BEGIN
SET NOCOUNT ON;
DECLARE 
@strQuery NVarChar(1000),
@Path VARCHAR(100), --путь к файлу
@MyFlatFileName NVarChar(200); -- его имя

SET @Path = 'f:\MyDir\';
-- получение списка файлов 
IF OBJECT_ID('TEMPDB..##dirtree') IS NOT NULL DROP TABLE ##dirtree
CREATE TABLE ##dirtree(ID int NOT NULL identity(1,1) primary key, subdirectory VARCHAR(300), depth INT, isfile INT)
INSERT INTO ##dirtree (subdirectory,depth,isfile) EXEC xp_dirtree @Path, 0, 1

-- в курсор список имен файлов
DECLARE c_FileList CURSOR FAST_FORWARD
FOR SELECT  subdirectory FROM ##dirtree WHERE isfile=1;
OPEN c_FileList;
FETCH c_FileList INTO @MyFlatFileName;
WHILE @@Fetch_Status = 0 
BEGIN
print  dbo.uf_BulkInsFlatFileList
(
@strtbl_in,
@MyFlatFileName,
@Path
);
SET @strQuery=dbo.uf_BulkInsFlatFileList
(
@strtbl_in,
@MyFlatFileName,
@Path
);		
exec sp_executesql @strQuery;
FETCH c_FileList INTO @MyFlatFileName;
END
CLOSE c_FileList;
DEALLOCATE c_FileList;    
END
GO
17 фев 15, 15:49    [17277141]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить