Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 DTS-Столбец дат (наступаем на грабли)  [new]
AndreySl
Member

Откуда: Украина/Херсон
Сообщений: 186
я заливаю из тхт файла данные ограничения столбцов делаю ручками, при этом тип данных столбца (первого) получ. char17.
как весь этот столбец определить ДАТОЙ? ведь если я правильно понимаю, формат соответствует типу ДАТАТIME ???


30.08.04 16:00:25 2............
30.08.04 16:00:29 23..............
17 ноя 04, 10:50    [1111910]     Ответить | Цитировать Сообщить модератору
 Re: DTS-Столбец дат (наступаем на грабли)  [new]
Glory
Member

Откуда:
Сообщений: 104760
как весь этот столбец определить ДАТОЙ?
Ну так создать таблицу-приемник самому.

ведь если я правильно понимаю, формат соответствует типу ДАТАТIME ???
И что это означает ? Что все что похоже скажем на "ABC" должно пониматся как 16-ое число ? Или все-таки как строка ?
В текстовых файлах нет понятия "тип данных" - а похоже что-то на что-то или не похоже - это вам решать.
17 ноя 04, 10:57    [1111964]     Ответить | Цитировать Сообщить модератору
 Re: DTS-Столбец дат (наступаем на грабли)  [new]
AndreySl
Member

Откуда: Украина/Херсон
Сообщений: 186
Glory-glory
Ну не настолько же я говорю на чужом языке.

"Ну так создать таблицу-приемник самому" (я так и делаю)
Таблица создается в DTS пакете, но я не могу при созании табл в TASK записать (отредактировать) тип поля на datatime !!!!
1----------------------------------------
CREATE TABLE [andreys].[dbo].[smallDT] (
[Col001] char (17) NULL,
[Col002] char (4) NULL,

2----------------------------------------- (не отрабатывает такой ход!!!)
CREATE TABLE [andreys].[dbo].[smallDT] (
[Col001] datetime (17) NULL,
[Col002] char (4) NULL,
[Col003] char (7) NULL,

ведь есть понятие типа данных в создаваемой таблице )))


"И что это означает ? Что все что похоже скажем на "ABC" должно пониматся как 16-ое число ?"
А этот вопрос вообще не понятно почему возник !!!???
Вот описание:
1--------
если данные в столбце (nvarchar) (уже залитый !текст! в таблицу), соответствуют:
16:00:25
то работает конструкция:Alter table __ Alter column ___ datatime
2--------
если данные с столб. соотв
16:00:25
то конструкция также не отрабатывает
--------------------------------------- это комментарий к "Что все что похоже скажем на "ABC" должно пониматся как 16-ое число"
- не не должно пониматься а может пониматься (или нет)


Glory можно ли столбец заполненый "однородными" данными [30.08.04 16:00:25]
на лету перевести в тип datatime или подскажите оптимальное решение ? )
17 ноя 04, 11:26    [1112148]     Ответить | Цитировать Сообщить модератору
 Re: DTS-Столбец дат (наступаем на грабли)  [new]
AndreySl
Member

Откуда: Украина/Херсон
Сообщений: 186
ОшИБОЧКА

2--------
если данные с столб. соотв
16.00.25
то конструкция также не отрабатывает

вот так правильнее
17 ноя 04, 11:29    [1112164]     Ответить | Цитировать Сообщить модератору
 Re: DTS-Столбец дат (наступаем на грабли)  [new]
Glory
Member

Откуда:
Сообщений: 104760
Таблица создается в DTS пакете, но я не могу при созании табл в TASK записать (отредактировать) тип поля на datatime !!!!
Изменить уже существующей столбец нельзя.
Но _создать_ таблицу с нужными типами столбцов можно.
TarnsformationTask - Destination - Create

на лету перевести в тип datatime или подскажите оптимальное решение ? )
Для этого столбец-приемник должен быть типа datatime. Иначе к чему все эти конвертации ?
Если столбец-приемник уже имеет такой тим то в TransformationTask - Transformations нужно связывать пару столбцов источник-приемник через Date Time String Transformation

"И что это означает ? Что все что похоже скажем на "ABC" должно пониматся как 16-ое число ?"
А этот вопрос вообще не понятно почему возник !!!???

К тому - что если что-то похоже на что-то то это вовсе не означает что оно этим и является. Т.е. на основании похожести можно сделать ложные выводы.
17 ноя 04, 11:51    [1112340]     Ответить | Цитировать Сообщить модератору
 Re: DTS-Столбец дат (наступаем на грабли)  [new]
AndreySl
Member

Откуда: Украина/Херсон
Сообщений: 186
можно подробнее? про :
TarnsformationTask - Destination - Create
17 ноя 04, 12:13    [1112504]     Ответить | Цитировать Сообщить модератору
 Re: DTS-Столбец дат (наступаем на грабли)  [new]
Glory
Member

Откуда:
Сообщений: 104760
Ну у вас в пакете есть DataTransformationTask ?
В нем есть закладка Transformations ?
Пара столбцов источник-приемник связаны конкретным transformation-ом ? Какого типа этот transformation ?
17 ноя 04, 12:15    [1112516]     Ответить | Цитировать Сообщить модератору
 Re: DTS-Столбец дат (наступаем на грабли)  [new]
ruslrain
Member

Откуда:
Сообщений: 114
AndreySl
я заливаю из тхт файла данные ограничения столбцов делаю ручками, при этом тип данных столбца (первого) получ. char17.
как весь этот столбец определить ДАТОЙ? ведь если я правильно понимаю, формат соответствует типу ДАТАТIME ???


30.08.04 16:00:25 2............
30.08.04 16:00:29 23..............

Может я не правельно понял вопрос, но осмелюсь высказать свое решение:
Sourse -> txt file
Destination -> SQL Server
в DTS package вы просто на Data transform task указываете что колонку из тестового файла где присутствует Ваша дата закачать в колонку таблицы Destination и в таске указывате тип DateTime String, где прописывате нужный вам формат
Прошу прощения, может я не правельно понял вопрос.
17 ноя 04, 12:34    [1112625]     Ответить | Цитировать Сообщить модератору
 Re: DTS-Столбец дат (наступаем на грабли)  [new]
AndreySl
Member

Откуда: Украина/Херсон
Сообщений: 186
Спасибо Glory, есть над чем подумтаь ;)
17 ноя 04, 13:00    [1112765]     Ответить | Цитировать Сообщить модератору
 Re: DTS-Столбец дат (наступаем на грабли)  [new]
AndreySl
Member

Откуда: Украина/Херсон
Сообщений: 186
Да так хотелось бы :" где прописывате нужный вам формат" но на самом деле этого пока не получил, формат был char.
17 ноя 04, 13:04    [1112786]     Ответить | Цитировать Сообщить модератору
 Re: DTS-Столбец дат (наступаем на грабли)  [new]
Glory
Member

Откуда:
Сообщений: 104760
AndreySl
Да так хотелось бы :" где прописывате нужный вам формат" но на самом деле этого пока не получил, формат был char.

Не понятно что вы хотите где прописать ?
Вы хотите чтобы SQL сам каким-то образом понимал что данный столбец в текстовом файле дата, только дата и ничего кроме даты ?
17 ноя 04, 13:10    [1112809]     Ответить | Цитировать Сообщить модератору
 Re: DTS-Столбец дат (наступаем на грабли)  [new]
AndreySl
Member

Откуда: Украина/Херсон
Сообщений: 186
Glory да. Причем проверяя тот вариант что Вы подсказали:
DTS Transformations, typ- datatime string. Иточн - тхт, column001 и назначен table column001 указаны. table column001 - тип datatime.
И ВОТ при выпонении этого stepa вылазит ошибочка: см рис

а значение это 10:22 находится в первой строке текстового файла вот:
почему возн ошибка ?
вот фрагмент текст.файла:

30.08.04 16:10:22 26 111 00:00:50 458888 2
30.08.04 16:00:29 23 170 00:00:19 5
30.08.04 16:00:46 20 146
17 ноя 04, 13:40    [1112968]     Ответить | Цитировать Сообщить модератору
 Re: DTS-Столбец дат (наступаем на грабли)  [new]
Glory
Member

Откуда:
Сообщений: 104760
И ВОТ при выпонении этого stepa вылазит ошибочка: см рис
Рисунка нету. Как и информации собственно какой TransformationType вы задали для пары column001-column001
17 ноя 04, 13:44    [1112986]     Ответить | Цитировать Сообщить модератору
 Re: DTS-Столбец дат (наступаем на грабли)  [new]
AndreySl
Member

Откуда: Украина/Херсон
Сообщений: 186
Не зацепил...
вот

К сообщению приложен файл. Размер - 0Kb
17 ноя 04, 13:47    [1113005]     Ответить | Цитировать Сообщить модератору
 Re: DTS-Столбец дат (наступаем на грабли)  [new]
ruslrain
Member

Откуда:
Сообщений: 114
AndreySl
Glory да. Причем проверяя тот вариант что Вы подсказали:
DTS Transformations, typ- datatime string. Иточн - тхт, column001 и назначен table column001 указаны. table column001 - тип datatime.
И ВОТ при выпонении этого stepa вылазит ошибочка: см рис

а значение это 10:22 находится в первой строке текстового файла вот:
почему возн ошибка ?
вот фрагмент текст.файла:

30.08.04 16:10:22 26 111 00:00:50 458888 2
30.08.04 16:00:29 23 170 00:00:19 5
30.08.04 16:00:46 20 146


Андрей, я что-то мало что понимаю. Скажите тхт, column001 у вас содержит 30.08.04 16:10:22? Если он содержит эту строку данных, тогда вы делаете трансформацию DateTime String? Вы указывате datetime string transformation properties как :
sourse > DD.MM.YY HH:MM:SS
Destination > как Вам угодно?
Если у Вас именно так, то ошибки не должно быть. Будь те добры transormation Data task properties есть вкладка Transformation Выбирете таск где идет трансоформация тхт, column001 в table column001 и просто нажмите тест. Скажите у проходит без ошибок?
17 ноя 04, 13:50    [1113027]     Ответить | Цитировать Сообщить модератору
 Re: DTS-Столбец дат (наступаем на грабли)  [new]
AndreySl
Member

Откуда: Украина/Херсон
Сообщений: 186
А может быть ошибкой что я указал для источника формат даты: (dd.MM.yy hh:mm:ss) хотя я уверен что это правильно.
17 ноя 04, 13:50    [1113028]     Ответить | Цитировать Сообщить модератору
 Re: DTS-Столбец дат (наступаем на грабли)  [new]
Glory
Member

Откуда:
Сообщений: 104760
И еще раз спрошу
Вы задали TransformationType для пары column001-column001 ?
17 ноя 04, 13:51    [1113034]     Ответить | Цитировать Сообщить модератору
 Re: DTS-Столбец дат (наступаем на грабли)  [new]
AndreySl
Member

Откуда: Украина/Херсон
Сообщений: 186
ruslrain тест с ошибкой (
17 ноя 04, 13:53    [1113044]     Ответить | Цитировать Сообщить модератору
 Re: DTS-Столбец дат (наступаем на грабли)  [new]
ruslrain
Member

Откуда:
Сообщений: 114
Glory
И еще раз спрошу
Вы задали TransformationType для пары column001-column001 ?

во первых не hh:mm:ss а HH:mm:ss это важно. хотя ошибка и выходит в другом месте, но поробуйте еще раз
17 ноя 04, 13:54    [1113051]     Ответить | Цитировать Сообщить модератору
 Re: DTS-Столбец дат (наступаем на грабли)  [new]
AndreySl
Member

Откуда: Украина/Херсон
Сообщений: 186
Glory: да )

К сообщению приложен файл. Размер - 0Kb
17 ноя 04, 13:56    [1113063]     Ответить | Цитировать Сообщить модератору
 Re: DTS-Столбец дат (наступаем на грабли)  [new]
ruslrain
Member

Откуда:
Сообщений: 114
AndreySl
Glory: да )

Андрей давайте по порядку
1.Во первых скажите колонка 001 в тестовом фале при просмотре показывает
30.08.04 16:10:22
и ни каких других символов?
2.во вторых
колонка 001 в SQL Servere является datatime?
3.в третьих
sourse идет как DD.MM.YY HH:mm:ss
destination как MM/DD/YY HH:mm:ss ?
17 ноя 04, 14:03    [1113093]     Ответить | Цитировать Сообщить модератору
 Re: DTS-Столбец дат (наступаем на грабли)  [new]
Glory
Member

Откуда:
Сообщений: 104760
destination как MM/DD/YY HH:mm:ss ?

destination лучше задать как yyyymmdd HH:mm:ss
17 ноя 04, 14:13    [1113169]     Ответить | Цитировать Сообщить модератору
 Re: DTS-Столбец дат (наступаем на грабли)  [new]
ruslrain
Member

Откуда:
Сообщений: 114
Glory
destination как MM/DD/YY HH:mm:ss ?

destination лучше задать как yyyymmdd HH:mm:ss

ну это не важно, так Вы сделали все именно так?
17 ноя 04, 14:15    [1113182]     Ответить | Цитировать Сообщить модератору
 Re: DTS-Столбец дат (наступаем на грабли)  [new]
AndreySl
Member

Откуда: Украина/Херсон
Сообщений: 186
Да именно так причем только что пробовал назначение как
MM/dd/yy hh:mm:ss - и как
dd.MM.yy hh:mm:ss
17 ноя 04, 15:11    [1113550]     Ответить | Цитировать Сообщить модератору
 Re: DTS-Столбец дат (наступаем на грабли)  [new]
Glory
Member

Откуда:
Сообщений: 104760
Насколько я понял вы указали в качестве разделителя столбцов "пробел".
Поэтому у вас из строки
30.08.04 16:10:22 26 111 00:00:50 458888 2
Получается 7 столбцов (что видно из скриншота). А именно

Col1 - 30.08.04
Col2 - 16:10:22
Col3 - 26
Col4 - 111
Col5 - 00:00:50
Col6 - 458888
Col7 - 2

И раз Col2 содержит только время то о каких dd.MM.yy мы толкуем ?
17 ноя 04, 15:14    [1113567]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить