powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / data value overflowed the type used by the provider
1 сообщений из 1, страница 1 из 1
data value overflowed the type used by the provider
    #33811116
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Идет импорт 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 добавлялся как
Код: plaintext
1.
tmpOleDbParameter.OleDbType=OleDbType.VarChar;
в него заносятся данные System.String.

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

P.S. Думал, мо грабли из-за 866... Заюзал
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
...
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
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / data value overflowed the type used by the provider
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]