У нас есть программа .NET, которая была разработана с Visual Studio 2003. На сервере, на котором она находилась, была база данных Oracle 8.Программа отлично работала с подключением к базе данных.Однако недавно приложение было перемещено на другой сервер, на котором установлена более новая версия Oracle (10g).Соединение с базой данных перестало работать после этой миграции.Устанавливая клиент для Oracle 8, соединение, наконец, снова заработало.Однако теперь у нас возникла странная проблема.
Возьмем этот бит:
OleDbDataReader dbReader = myDB.GetDataReader(strSQLStatement);
dbReader.Read();
int idNum;
idNum = (int) dbReader.GetDecimal(0);
Это прекрасно работало, когда база данных была в Oracle 8. Но теперь она бросает приведение типаисключение и говорит, что приведение типа недопустимо.Что может быть причиной этого и как это можно решить?