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

Откуда: Москва
Сообщений: 223
Надо выполнить такое в пакете DTS
Function Main()
	Set fs = CreateObject("Scripting.FileSystemObject")
	FS.MoveFile "C:\AUFNR.TXT", "C:\AUFNR" & Format(Now,"YYMMDD_hhmmss") & ".TXT"
	Main = DTSTaskExecResult_Success
End Function

При выполнении происходит ошибка: Несоответствие типа: 'Format'.

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

В чем проблема?
--------------
Чайники всегда развивают самую кипучую деятельность
2 сен 04, 12:37    [928851]     Ответить | Цитировать Сообщить модератору
 Re: DTS и VBScript  [new]
Glory
Member

Откуда:
Сообщений: 104760
В чем проблема?
Вы уверены что то, что вам возвращает Format имеет символьный тип данных и может вот так просто быть склеено с символьной константой ???

ЗЫ
И еще в хелпе по VBScript 5.6 я вообще не вижу функции Format
2 сен 04, 12:41    [928874]     Ответить | Цитировать Сообщить модератору
 Re: DTS и VBScript  [new]
GuDVin
Member

Откуда: Москва
Сообщений: 223
Во-первых VB, наскока я знаю, автоматически приводит типы.

Во-вторых в MSDN функция Format описана. Возможно, я что то путаю с VBA. А есть в 5.6 функция, которая преобразует текущую дату в такой формат?
2 сен 04, 12:51    [928947]     Ответить | Цитировать Сообщить модератору
 Re: DTS и VBScript  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
данный формат вернет тип date если мне память не изменяет , оберните его вызов в конверт к стороке , с даты не помню как ф-ция называеться, типа СDate() помоему.

CDate(Format(Now,"YYMMDD_hhmmss"))
2 сен 04, 12:52    [928950]     Ответить | Цитировать Сообщить модератору
 Re: DTS и VBScript  [new]
GuDVin
Member

Откуда: Москва
Сообщений: 223
Сорри, понял свою ошибку. Забыл посмотреть на список функций слева от поля ввода кода.
А получается, что ActiveX Script работает не совсеми VB функциями?
2 сен 04, 12:53    [928962]     Ответить | Цитировать Сообщить модератору
 Re: DTS и VBScript  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
GuDVin
Сорри, понял свою ошибку. Забыл посмотреть на список функций слева от поля ввода кода.
А получается, что ActiveX Script работает не совсеми VB функциями?
Ну это ж не VB, а VBS.
2 сен 04, 12:55    [928970]     Ответить | Цитировать Сообщить модератору
 Re: DTS и VBScript  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Да работает vbs с ф-цией Format.
2 сен 04, 12:56    [928980]     Ответить | Цитировать Сообщить модератору
 Re: DTS и VBScript  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Maxx
Да работает vbs с ф-цией Format.


приношу извинения... CDATE(NOW) работает, а вот с форматом - нет, счас поисчу.. там , помоему есть что-то из етой оперы.
2 сен 04, 13:01    [929006]     Ответить | Цитировать Сообщить модератору
 Re: DTS и VBScript  [new]
SergeySV
Member

Откуда: Москва
Сообщений: 1073
DTS вообще все пофигу, все дело в волшебных пузырьках... не знает VBScript функцию Format
2 сен 04, 13:01    [929009]     Ответить | Цитировать Сообщить модератору
 Re: DTS и VBScript  [new]
GuDVin
Member

Откуда: Москва
Сообщений: 223
Похоже этот VBS не знает format. Зато знает CDate, но без параметров...
2 сен 04, 13:02    [929013]     Ответить | Цитировать Сообщить модератору
 Re: DTS и VBScript  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Зато VBS знает CStr + парсинг даты по дню, месяцу, году... с преобразованием этих чисел к строке...
2 сен 04, 13:05    [929030]     Ответить | Цитировать Сообщить модератору
 Re: DTS и VBScript  [new]
GuDVin
Member

Откуда: Москва
Сообщений: 223
2tpg: Так сейчас и делаю, но некрасиво и гемморно
2 сен 04, 13:06    [929036]     Ответить | Цитировать Сообщить модератору
 Re: DTS и VBScript  [new]
jimmers
Member

Откуда: Санкт-Петербург - New York City
Сообщений: 5069
Maxx
приношу извинения... CDATE(NOW) работает, а вот с форматом - нет, счас поисчу.. там , помоему есть что-то из етой оперы.


Есть функция FormatDateTime: Returns an expression formatted as a date or time.
Но она полагается на computer's regional settings. Поэтому за ее применение руки отрывать надо.

Самый правильный вариант - через склеивание строки из частей даты:

CStr(DatePart("yyyy", Now()))

Так что не нужно расстраиваться.
2 сен 04, 13:26    [929208]     Ответить | Цитировать Сообщить модератору
 Re: DTS и VBScript  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Можно ещё завести таск ExecuteSQL с одной ниструкцией
select convert(nvarchar, getdate(), 112)+N'_'+replace(convert(nvarchar, getdate(), 108), N':', N'')
с соответствующим выходным параметром через предварительно созданную глобальную переменную, которую и заюзать в скрипте - как вариант.
2 сен 04, 13:30    [929233]     Ответить | Цитировать Сообщить модератору
 Re: DTS и VBScript  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Точно, я рабирал дату, а потом собирал по частям.
2 сен 04, 13:51    [929379]     Ответить | Цитировать Сообщить модератору
 Re: DTS и VBScript  [new]
GuDVin
Member

Откуда: Москва
Сообщений: 223
2TPG - Хм... Есть еще в мире извращенцы...:-) Не в обиду конечно.

2All. Спасибо, буду мучаться.

Чайники всегда развивают самую кипучую деятельность

Off: А есть такие же мощные форумы по MS SS?
2 сен 04, 14:26    [929630]     Ответить | Цитировать Сообщить модератору
 Re: DTS и VBScript  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
GuDVin


Off: А есть такие же мощные форумы по MS SS?
- а че ето просвети?
2 сен 04, 14:32    [929667]     Ответить | Цитировать Сообщить модератору
 Re: DTS и VBScript  [new]
GuDVin
Member

Откуда: Москва
Сообщений: 223
SS aka SQL Server
2 сен 04, 14:58    [929816]     Ответить | Цитировать Сообщить модератору
 Re: DTS и VBScript  [new]
GuDVin
Member

Откуда: Москва
Сообщений: 223
Еще вопрос по этой теме:

Как сделать Leading Zero в CStr(Month(Date)) стандартными средствами
2 сен 04, 18:12    [930867]     Ответить | Цитировать Сообщить модератору
 Re: DTS и VBScript  [new]
Glory
Member

Откуда:
Сообщений: 104760
Также как и везде

Right("00"+CStr(Month(Date)), 2)
2 сен 04, 18:14    [930879]     Ответить | Цитировать Сообщить модератору
 Re: DTS и VBScript  [new]
jimmers
Member

Откуда: Санкт-Петербург - New York City
Сообщений: 5069
Left("0" & CStr(Month(Now())), 2)
2 сен 04, 18:14    [930880]     Ответить | Цитировать Сообщить модератору
 Re: DTS и VBScript  [new]
jimmers
Member

Откуда: Санкт-Петербург - New York City
Сообщений: 5069
Разумеется, не LEFT, а RIGHT.
2 сен 04, 18:14    [930883]     Ответить | Цитировать Сообщить модератору
 Re: DTS и VBScript  [new]
GuDVin
Member

Откуда: Москва
Сообщений: 223
Еще вопрос по этой теме:

Как сделать Leading Zero в CStr(Month(Date)) стандартными средствами
2 сен 04, 18:26    [930919]     Ответить | Цитировать Сообщить модератору
 Re: DTS и VBScript  [new]
GuDVin
Member

Откуда: Москва
Сообщений: 223
Пардон, все ясно. Стандартных средств нет.
2 сен 04, 18:27    [930921]     Ответить | Цитировать Сообщить модератору
 Re: DTS и VBScript  [new]
Glory
Member

Откуда:
Сообщений: 104760
Стандартных средств нет.
Стандартных - это типа чтобы меньше программировать ? :)
Это вы еще в DOS бат-файлы не писали :)
2 сен 04, 18:31    [930937]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить