Форум: "Прочее";
Текущий архив: 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