Эта миграция кажется действительно сложной. Сейчас я пытаюсь выполнить простые запросы к таблице Oracle db:
OBJECTID NOT NULL NUMBER,
DOUBLEVALUE NOT NULL FLOAT(126),
MODTIME DATE
когда я использую System.Data.OracleClient, я могу вставлять параметризованные запросы, где значения параметров:
123,
"123.123",
DateTime.Now.ToString().
и DbParameter.DbTypes:
DbType.Int32,
DbType.Double,
DbType.Date
Если я использую Oracle.DataAccess.Client, это не работает:
Для DOUBLEVALUE я получаю исключение, потому что в моей системе Convert.ToDouble (который вызывается OracleParameter.PreBind_Double) ожидает, что я использую запятую ("123,123"). Я не хочу менять все значения во всех программах и файлах. Также OleDb может справиться с этим без проблем.
Для MODTIME я получаю «ORA-01830: картинка в формате даты заканчивается перед преобразованием всей входной строки». Это работает, если я изменяю значение на DateTime.Now.ToShortDateString (). Возможно также, если я изменю тип параметра. Также этот OleDb может справиться.
Кажется смешным, что Oracle.DataAccess.Client не может справиться с этими действительно базовыми ситуациями, с которыми у System.Data.OracleClient и System.Data.OleDb нет проблем. Любые рекомендации?
Спасибо и наилучшими пожеланиями -Матти