Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Новый топик    Ответить
 data value overflowed the type used by the provider  [new]
Ex_Soft
Member

Откуда:
Сообщений: 7712
Идет импорт dbf (Provider=Microsoft.Jet.OLEDB.4.0) -> SyBase (Provider=Sybase.ASEOLEDBProvider) (dbf в 866). Данные из dbf загоняются в tmp'шную DataTable, а потом из нее в SyBase. Так вот при попытке сохранения получаю
System.InvalidOperationException

System.InvalidOperationException
Message: Conversion failed for command parameter[1] 'PAYMENT_PURPOSE' because the data value overflowed the type used by the provider.

StackTrace:
at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr)
at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForMultpleResults(tagDBPARAMS dbParams, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
at System.Data.OleDb.OleDbCommand.ExecuteNonQuery()


PAYMENT_PURPOSE добавлялся как
tmpOleDbParameter.OleDbType=OleDbType.VarChar;
в него заносятся данные System.String.

Что нужно еще покрутить/подкрутить что бы забегало?

P.S. Думал, мо грабли из-за 866... Заюзал
...
PreConvert(Convert.ToString(tmpObject),Encoding.GetEncoding(866),Encoding.Default);
...
private static string PreConvert(string value, Encoding src, Encoding trg)
{
	Decoder dec = src.GetDecoder();
	byte[] ba = trg.GetBytes(value);
	int len = dec.GetCharCount(ba, 0, ba.Length);
	char[] ca = new char[len];
	dec.GetChars(ba, 0, ba.Length, ca, 0);
	return new string(ca);
}
Не помогло Картинка с другого сайта.

P.P.S. Заметил еще одну такую особенность: на одних и тех же исходных данных, если debug'ерить и просматривать (QuickWatch), то отрабатывает нормательно Картинка с другого сайта., а, вот, если просто запустить на выполнение - вылезает выше описанная проблема Картинка с другого сайта. Чудес, конечно, не бывает, но такой прецедент имеется...
_________________
"Helo, word!" - 17 errors 56 warnings
23 июн 06, 12:39    [2805933]     Ответить | Цитировать Сообщить модератору
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Ответить