![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Float conversion failed [D5, MSSQL, Paradox]
den2002 © (2003-02-27 11:12:00)У меня следующая проблема :
при копировании из таблицы Paradox в таблицу MSSQL
как с помощью BatchCopy , так и "вручную" возникает следующая ошибка:
General SQL Error.
float conversion attempt failed.The source is invalid.
Структура таблиц одинакова.
Есть какие-нибудь идеи?
den2002 (2003-02-27 12:28:00) [1]Пробовал ,результат тот же ,
но идея правильная,так как всё отлично работает если в ControlPanel\Regional Setting\ поставить DecimalSeparator равным точке.
sniknik (2003-02-27 12:20:00) [2]Теоретически (не пробовал) можно наверно было и BatchCopy "поправить",
если он использует стандартные средства конвертирования (а так наверняка и есть),
и в Dos разделитель знаков точка а в виндах наверняка у тебя запятая,
и то что парадокс хранит записи чисел в тексте а после считывания конвертирует из строки
то рассуждая логически должен помоч подобный код (сразу в голову почемуто не пришло), можеш попробовать если интересно (запрос все одно лутше), получится напиши.
SavedSep:= DecimalSeparator;
DecimalSeparator:= ".";
...BatchCopy...
DecimalSeparator:= SavedSep;
den2002 (2003-02-27 12:08:00) [3]спасибо, помогло
sniknik (2003-02-27 11:26:00) [4]програмный запрос из MSSQL к парадокс
SELECT * FROM OpenDataSource("Microsoft.Jet.OLEDB.4.0",
"Data Source="D:\";Extended properties=Paradox 4.x")...temp_mvu
поменяй на INSERT INTO и все дела.
den2002 (2003-02-27 11:21:00) [5]спасибо за ответ,но не подойдет,мне нужно делать это програмно.
sniknik (2003-02-27 11:17:00) [6]попробуй закачать средствами MSSQL, пока что всегда срабатывало (если конечно таблица действительно не порушена).