Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2014.12.07;
Скачать: [xml.tar.bz2];

Вниз

импорт в mssql из файла (почти csv)   Найти похожие ветки 

 
antonn ©   (2014-04-27 16:50) [0]

Не подскажет ли кто программу для импорта данных из текстового файла в базу mssql? что нибудь более вменяемое чем бестолковый мастер импорта в SMS


 
Ega23 ©   (2014-04-27 16:55) [1]

http://msdn.microsoft.com/ru-ru/library/ms188365.aspx
ы?


 
antonn ©   (2014-04-27 17:02) [2]

гуеподобное хочется (ну и, конечно же, таблиц в базе нет, т.е. не просто инсерт выполнить)


 
Inovet ©   (2014-04-27 17:08) [3]

> [2] antonn ©   (27.04.14 17:02)
> ну и, конечно же, таблиц в базе нет

"Конечно же"? Что это за база без таблиц, но что-то же в ней есть, куда можно запихивать эти импортированные данные?


 
antonn ©   (2014-04-27 17:10) [4]


> Inovet ©   (27.04.14 17:08) [3]

ты, конечно же, пользовался мастером импорта в SQL Server Management Studio?


 
Inovet ©   (2014-04-27 17:15) [5]

> [4] antonn ©   (27.04.14 17:10)

Вот я и спрашиваю - куда?


 
antonn ©   (2014-04-27 17:17) [6]


> Вот я и спрашиваю - куда?

в новую таблицу. А ты мне ответишь? :(
даже не знаю что хуже - не открывать SMS и спрашивать, или открывать, побороться с форматами и типами столбцов и тоже спрашивать...


 
DVM ©   (2014-04-27 17:31) [7]


> antonn ©   (27.04.14 16:50) 


> Не подскажет ли кто программу

Delphi


 
Inovet ©   (2014-04-27 17:31) [8]

> [6] antonn ©   (27.04.14 17:17)
> в новую таблицу. А ты мне ответишь?

Что я ответишь? Вот набор у тебя получился, ну и сохрани его в новую таблицу, посмотри как это делается при выборке из обычнымх таблиц.


 
Inovet ©   (2014-04-27 17:40) [9]

> [2] antonn ©   (27.04.14 17:02)
> гуеподобное хочется

Excel хуже SMS?


 
antonn ©   (2014-04-27 17:59) [10]


> Что я ответишь?

я хочу узнать пользовался ли ты импортом через мастер в SMS. Похоже что нет :)


> Вот набор у тебя получился

какой набор?


> Excel хуже SMS?

вот сейчас и приходится копировать на машину где есть ексель, там загонять в таблицу, проверять все ли нормально воспринято, потом уже этот файл пихать мастеру импорта


 
Inovet ©   (2014-04-27 18:44) [11]

> [10] antonn ©   (27.04.14 17:59)
> Похоже что нет :)

Не пользовался. Но ты ответь - в чём проблема сделать нормально запросом при известной структуре файла и таблицы?


 
antonn ©   (2014-04-27 18:56) [12]


> Не пользовался. Но ты ответь - в чём проблема сделать нормально
> запросом при известной структуре файла и таблицы?

она не известна, тип столбцов хочется указывать непосредственно при импорте.


 
Вариант   (2014-04-28 07:29) [13]


> antonn ©   (27.04.14 18:56) [12]
>
> > Не пользовался. Но ты ответь - в чём проблема сделать
> нормально
> > запросом при известной структуре файла и таблицы?
>
> она не известна, тип столбцов хочется указывать непосредственно
> при импорте.
>


А чем таки SMS не устраивает?Что мешает задать тип столбца при импорте при помощи SMS?  Или есть какие-то доп. требования к софту импорта?


 
antonn ©   (2014-04-28 12:00) [14]


>А чем таки SMS не устраивает? Что мешает задать тип столбца при импорте при помощи SMS?

да потому что текст в виде "20140412" он упорно хочет занести как date, но при импорте вылезают ошибки что данные будут потеряны (ну и будет null, если импорт вообще не остановится). Указываешь формат как DBDATE - ругается (ошибку точно не помню, но можете повторить), перегенерил весь файл с форматом yyyy-mm-dd, опять ругается что данные могут быть потеряны. я так и не нашел как сделать так, чтобы оно выключило свой АИ и тупо взяло и сделало строковые типы (хотя нужна дата, но плевать, хоть в строках бы импортнуть). Если не ошибаюсь, оно по первым (100 для мастера, 1000макс для 2008 студии) строкам пробегается и пытается интеллектуально выявить их тип самостоятельно.
http://antonn.com/fh/store/b6wuiuqk.png (вот тут если поставить галку convert и выбрать fail - прервется с ошибкой, выставить ignore - выполнится, и импортнет null в столбцах, уберешь галку - не выполнит, а создаст что-то в расписаниии).
Хотелось бы подобный мастер, но чтобы руками "железно" можно было задать тип столбцов исходных и целевых, и с возможностью, например, указывать формат данных если это поможет (для даты, например).


 
Jeer ©   (2014-04-28 12:45) [15]

Т.е. через DDL создать таблицы с нужными полями не судьба?


 
antonn ©   (2014-04-28 12:54) [16]


> Т.е. через DDL создать таблицы с нужными полями не судьба?

нет


 
Inovet ©   (2014-04-28 14:23) [17]

> [14] antonn ©   (28.04.14 12:00)
> но чтобы руками "железно" можно было задать тип столбцов исходных и целевых

Ты же сказал - неизвестна структура. Как тогда возможно задать железно. Задача не имеет решения.


 
Вариант   (2014-04-28 14:41) [18]


> antonn ©   (28.04.14 12:00) [14]

Увы у меня SMS 2005 (2008 не знаю), возможностей в ней поменьше наверняка, но зато при конвертации нерешенных проблем у меня пока почти не возникло. Задать ручками тип данных для столбца входящей или целевой таблицы - не проблема.
Inovet ©   (28.04.14 14:23) [17]
Там визард или "Мастер импорта". Сегодня один файл, завтра другой -  импортнуть данные можно автоматом почти. Мастер пытается интерпретировать  данные сам. Но не всегда правильно угадывает тип (что логично, например при куче форматов для представления даты ). Вот тут и есть возможность сказать ему - а конвертируй ты в вот в такой тип данных.... .


 
Jeer ©   (2014-04-28 14:58) [19]

На так всеми любимом Delphi это пишется за пол-дня :)


 
antonn ©   (2014-04-28 15:10) [20]


> Ты же сказал - неизвестна структура. Как тогда возможно
> задать железно.

может ты хотя бы ознакомишься с темой?
http://antonn.com/fh/store/u84z65by.png


> Вариант   (28.04.14 14:41) [18]
>
>
> > antonn ©   (28.04.14 12:00) [14]
>
> Увы у меня SMS 2005 (2008 не знаю), возможностей в ней поменьше
> наверняка, но зато при конвертации нерешенных проблем у
> меня пока почти не возникло. Задать ручками тип данных для
> столбца входящей или целевой таблицы - не проблема.

вот я выше картинку вложил, в столбце строки с 20140412 или 2014-04-12 (два файла сделал). В любом случае оно пытается сделать тип столбца "date", но не может, похоже, разобрать данные из строк (о чем и ругается с остановкой процесса). Если указываю DT_DBDATE (для поля на скрине), то один фиг не осиливает. А если мне надо все текстом? Вообще не нашел где его "date" можно перекрыть в nvarchar


 
Inovet ©   (2014-04-28 15:23) [21]

> [20] antonn ©   (28.04.14 15:10)
> может ты хотя бы ознакомишься с темой?
> http://antonn.com/fh/store/u84z65by.png

Я это смотрел. Вывод - сруктура известна, интерпретация конкретного поля конкретного формата неправильная, а это уже другое. Ну, допустим, нет возможности кастить в этом мастере как угодно (что тоже сомнительно), но ты ведь можешь менять данные, судя по "с 20140412 или 2014-04-12 (два файла сделал)", логично сделать ещё на пробу 31.12.2014, 12.31.2014 и т.п., чтобы посмотреть, где там мастер путается. Есть же дефолтный формат даты и формат из текущей локали. И вообще посмотреть, что там в хелпе про этот мастер пишут.

Это всё, если без мастера никак/сложно/часто_разное_надо.


 
Вариант   (2014-04-28 15:26) [22]


> antonn ©   (28.04.14 15:10) [20]



> А если мне надо все текстом? Вообще не нашел где его "date"
> можно перекрыть в nvarchar


Не знаю где это  в 2008, в  2005 я для конвертации csv выбирал источник данных "Плоский файл". Уже при выборе файла появляется мастер входящих данных "Общие"  (выбор типов столбцов например для исходной таблицы),"Столбцы","Дополнительно".... Жму кнопку далееедо мастера "Исходные таблицы и представления" Там есть кнопка "изменить", где я и могу поменять уже типы целевой таблицы, причем как в визарде, так и на уровне DDL. Но боюсь в 2008 это может выглядеть все не так. Но думаю такая возможность быть должна, не должны же в MS были сделать хуже, чем было. Просто по другому....


 
antonn ©   (2014-04-28 15:29) [23]


> но ты ведь можешь менять данные

нет, не могу, это я сделал конкретно в своем примере, что потребовало переработки скрипта формирующего список. Мне хочется такой же мастер без АИ, с бОльшими возможностями самостоятельных решений.


> Есть же дефолтный формат даты и формат из текущей локали.
>  И вообще посмотреть, что там в хелпе про этот мастер пишут.
>

локаль тут не причем, есть DT_DBDATE для этих случаев


 
antonn ©   (2014-04-28 15:34) [24]


> Вариант   (28.04.14 15:26) [22]

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


 
Вариант   (2014-04-28 15:45) [25]


> antonn ©   (28.04.14 15:34) [24]

При импорте в существующую таблицы уже нельзя менять тип, не поменяв предварительно структуру  существующей таблицы. Поэтому сперва создай новую таблицу, с нужными тебе nvarchar типами, а потом уже конвертируй в нее все что надо. Причем я пробовал и тип с датами и другие типы. В строку конвертируется почти все. Ну или каждый раз надо в новую таблицу конвертировать


 
antonn ©   (2014-04-28 15:47) [26]


> Причем я пробовал и тип с датами и другие типы. В строку
> конвертируется почти все.

а в дату, даже с нуля, не все :(
Error 0xc02020a1: Data Flow Task 1: Data conversion failed. The data conversion for column "date_check" returned status value 2 and status text "The value could not be converted because of a potential loss of data.".
(SQL Server Import and Export Wizard)


 
Inovet ©   (2014-04-28 15:49) [27]

> [24] antonn ©   (28.04.14 15:34)
> Но это не поможет если такая таблица уже есть

Так, теперь уже есть таблицы. В [2] ещё не было.


 
antonn ©   (2014-04-28 15:50) [28]


> Так, теперь уже есть таблицы. В [2] ещё не было.

ты генерируешь шум


 
Inovet ©   (2014-04-28 16:05) [29]

> [28] antonn ©   (28.04.14 15:50)
> ты генерируешь шум

Я его отражаю.


 
sms   (2014-04-28 16:59) [30]

файл бы выложил, глядишь на досуге кто и помог, а так это только гадать что там не то и что не так делаеться..


 
antonn ©   (2014-04-28 17:21) [31]


> файл бы выложил, глядишь на досуге кто и помог, а так это
> только гадать что там не то и что не так делаеться..

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


 
Jeer ©   (2014-04-28 17:38) [32]

Толчея на ровном месте.
ИМХО.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2014.12.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 0.002 c
15-1399374780
Aleks2014
2014-05-06 15:13
2014.12.07
Как сменить программно IP сетевушки?


15-1397927721
ProgRAMmer Dimonych
2014-04-19 21:15
2014.12.07
«Умное» редактирование MP4 (H.264)


15-1399062603
Юрий
2014-05-03 00:30
2014.12.07
С днем рождения ! 3 мая 2014 суббота


15-1397927600
wl
2014-04-19 21:13
2014.12.07
зарядное устройство


2-1385455985
Игорёк
2013-11-26 12:53
2014.12.07
Перейти выше по каталогу в строчке





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский