|
|
|
Проблема DataTime
|
|||
|---|---|---|---|
|
#18+
Столкнулся с какой-то мистической проблемой. Создал приложение с клиентской частью на FoxPro и серверной на SQL Server Microsof 2000. Все отлично работает и пользователей полностью устраивает. Чтобы от меня наконец отстали, я согласился на экспорт данных из своей базы в базу Oracle. В принципе, мне этот экспорт нужен как рыболовный крючок в пустыне, но решить проблему необходимо, чтобы мне наконец перестали трепать нервы. Экспорт данных происходит в формате XML и для организации XML-файлов я создал на SQL сервере таблицу PAC. В программе эта таблица открывается в 14 рабочей области. При сохранении данных в основную таблицу в таблицу PAC заносятся данные для создания XML – файла. Дальше просто: SELECT 14 n='dp_eu_'+ALLTRIM(STR(RECCOUNT()))+'' CURSORTOXML(14, "\\trade\Export\&n", 1, 512+32, 1) Во вновь образуемом XML – файле даты записываются в формате DataTime, что получателя этих файлов не устраивает. Проблема в том, что Microsoft SQL Server вообще не поддерживает формат Data, а только формат DataTime. Может кто-то подскажет, как справиться с этой бедой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2007, 14:51 |
|
||
|
Проблема DataTime
|
|||
|---|---|---|---|
|
#18+
Ну так и что нужно то? С какой бедой надо справиться? Преобразовать Datetime в Date? Так есть функция TTOD(). Или еще что-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2007, 15:01 |
|
||
|
Проблема DataTime
|
|||
|---|---|---|---|
|
#18+
Для того, чтобы использовать функцию TTOD() необходимо "перехватить" данные в момент переноса из таблицы в XML-файл. Как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2007, 15:17 |
|
||
|
Проблема DataTime
|
|||
|---|---|---|---|
|
#18+
Для того, чтобы использовать функцию TTOD() необходимо "перехватить" данные в момент переноса из таблицы в XML-файл. Как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2007, 15:19 |
|
||
|
Проблема DataTime
|
|||
|---|---|---|---|
|
#18+
1. Делаешь RV и проставляешь тип поля в принимаемом курсоре 2. Если через TSQL и VFP9, о преобразование через ф-цию CAST(() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2007, 15:22 |
|
||
|
Проблема DataTime
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2007, 15:22 |
|
||
|
Проблема DataTime
|
|||
|---|---|---|---|
|
#18+
необходимо "перехватить" данные в момент переноса из таблицы в XML-файл На основании каких посылок сделан такой вывод? А ДО этого переноса совсем ничего нельзя делать? Или религия не позволяет? Что мешает, например, вместо Select 14 (какой анахронизм, однако) сделать Select ..., TtoD(DatetimeField), ... from ... ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2007, 15:25 |
|
||
|
Проблема DataTime
|
|||
|---|---|---|---|
|
#18+
После долгих мучений (конструкция Select …, TtoD(DataTimeField), … from … не работает (этот «дубовый» SQL!) ) решил проблему следующим образом: USE pac (локальная таблица) m.BIRTHDATE=TTOD(m.DTR) m.VAZDATE=TTOD(m.DIS) insert … append … CURSORTOXML("pac", "\\trade\Export\&n", 1, 512+32, 1) USE Пусть анахронизм и по топорному, зато работает надежно! Во всяком случае, спасибо за подсказку! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2007, 20:36 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34499735&tid=1589410]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
174ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 483ms |

| 0 / 0 |
