Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
big_jump Member Откуда: Сообщений: 28 |
Как импортировать в 1 таблицу сразу, например 10, txt файлов? |
20 мар 09, 12:49 [6953954] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Например, 10 раз запустить Import/Export Wizard |
||
20 мар 09, 12:55 [6954004] Ответить | Цитировать Сообщить модератору |
big_jump Member Откуда: Сообщений: 28 |
А если этих файлов 1000? Не хочу заработать тунельный синдром |
||||
20 мар 09, 13:00 [6954061] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Ну тогда может начнете с нормальной постановки задачи ? А то у вас то 10 файлов, то 1000 |
||||||
20 мар 09, 13:02 [6954072] Ответить | Цитировать Сообщить модератору |
big_jump Member Откуда: Сообщений: 28 |
Glory, Не пойму чего я не понятного написал? Есть куча файлов, их надо за 1 раз засунуть(импортировать) в 1 таблицу. |
20 мар 09, 13:06 [6954101] Ответить | Цитировать Сообщить модератору |
tpg Member Откуда: Novosibirsk Сообщений: 23902 |
|
||
20 мар 09, 13:08 [6954113] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Ну так напишите приложение - причем тут MSSQL то ? |
||
20 мар 09, 13:08 [6954122] Ответить | Цитировать Сообщить модератору |
big_jump Member Откуда: Сообщений: 28 |
tpg, Я пытался найти прогу, которая склеивает множество в 1 файл, но у меня файлы без расширения, хотя и текстовые. Массово переименовать их не получилось. Может подскажите прогу которая сможет склеить? |
20 мар 09, 13:13 [6954157] Ответить | Цитировать Сообщить модератору |
big_jump Member Откуда: Сообщений: 28 |
Я прошу, пожайлуста, не отвечайте больше, от вас никакой пользы. |
||||
20 мар 09, 13:13 [6954163] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
От меня гораздо больше пользы, чем от ваших невнятных тем. Если вы не в состоянии оформить свои желания в понятный текст, то прошу вас больше не публиковать вопросы |
||||||
20 мар 09, 13:18 [6954204] Ответить | Цитировать Сообщить модератору |
kolobok Member Откуда: Нижний Новгород Сообщений: 47 |
big_jump, не нервничайте, пожалуйста. из сказанного Вами не совсем ясна постановка задачи. свою задачу загрузки множества ОДНОТИПНЫХ (т.е. с одинаковой структурой) файлов я решаю с помощью BULK INSERT. Имя загружаемого файла передаю как параметр в динамич. запрос с BULK INSERT`ом в цикле по спику файлов. список файлов на диске можно получить, например, средствами ОС через master..xp_cmdshell. |
20 мар 09, 13:20 [6954221] Ответить | Цитировать Сообщить модератору |
big_jump Member Откуда: Сообщений: 28 |
Собственно нашол как склеить файлы, про тему можно забыть. |
20 мар 09, 13:28 [6954291] Ответить | Цитировать Сообщить модератору |
komrad Member Откуда: Сообщений: 5491 |
все проги уже есть под рукой выполните в командной строке copy *. ttl.txtполучите в одном файле содержимое файлов без расширения в текущей папке |
||
20 мар 09, 13:29 [6954301] Ответить | Цитировать Сообщить модератору |
Между сообщениями интервал более 1 года. |
da haroch Member Откуда: Сообщений: 323 |
а вы можете привести пример? мне тоже нужно это сделать, но я пока не могу сообразить=) |
||
17 фев 15, 13:33 [17276053] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Вы думаете он вам ответит 6 лет спустя ? |
||||
17 фев 15, 13:35 [17276086] Ответить | Цитировать Сообщить модератору |
da haroch Member Откуда: Сообщений: 323 |
Glory, оу, а я и не заметила что 6 лет то. Ну вдруг ответит.=) |
17 фев 15, 13:38 [17276112] Ответить | Цитировать Сообщить модератору |
гр к
Guest |
Раньше вроде работало, но не факт, что листинг именно рабочего вар-та 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] Ответить | Цитировать Сообщить модератору |
гр к
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 | ![]() |