Имя: Пароль:
1C
 
v7: ADO+datatimestamp+1C
0 gav
 
16.08.06
16:45
Надо импортировать базу из *.db в 1С. Проблема с полем типа datatimestamp. При обращении к нему 1С получает только дату. Сконвертировать в строку не получается. Ошибка -

Microsoft OLE DB Provider for ODBC Drivers: [Microsoft][Драйвер ODBC Paradox] Ошибка синтаксиса (пропущен оператор) в выражении запроса 'Convert(cast(varchar(25),ts_datetime as datetime),121) conv_f2'.

Код -

DBC=CreateObject("ADODB.Connection");
DBC.open("Provider=MSDASQL;Driver={Microsoft Paradox Driver (*.db )};DefaultDir=c:\;DBQ=c:\;Exclusive=No;LANGDRIVER=Paradox Cyrr 866;Version=7.0;Level=Level 7");
rs1=DBC.execute("Select *, Convert(cast(varchar(25),ts_datetime as datetime),121) conv_f2 from [080806S#db]");

Просьба не давать ссылок, а нормально ответить.
1 ТелепатБот
 
гуру
16.08.06
16:45
2 Sadovnikov
 
16.08.06
17:02
3 Билли Г
 
16.08.06
17:54
Синтаксис t-sql тут не катит, надо использовать ODBC-синтаксис:
select {fn CONVERT(ts_datetime,SQL_VARCHAR)} AS stringTIMESTAMP from ...
4 Билли Г
 
16.08.06
18:03
+3
Ну и функции
HOUR(), MINUTE(), SECOND()
никто не отменял...
5 gav
 
16.08.06
18:41
большое спасибо Билли Г
Работает.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn