System.AccessViaolation при выполнении массовой вставки (Oracle.DataAccess) - PullRequest
0 голосов
/ 08 июля 2011

У меня серьезная проблема с приложением winforms.Я вставляю через оракул массовую вставку (ArrayBinding) в таблицу.При выполнении команды с

cmd.ExecuteNonQuery()

я получаю следующую ошибку:

System.AccessViolationException at Oracle.DataAccess.Client.OpsErr.FreeCtx(IntPtr& opsErrCtx) at Oracle.DataAccess.Client.OracleException.GetOpoErrCtx(IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, IntPtr opsConCtx, String dataSrc, String procedure) at Oracle.DataAccess.Client.OracleException..ctor(IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, IntPtr opsConCtx, String dataSrc, String procedure) at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure) at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src) at Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery()

Есть идеи по этому вопросу?

MacX

1 Ответ

0 голосов
/ 08 июля 2011

нашел проблему сам.

Кажется, Oracle.DataAccess.Client не может правильно уведомить меня о том, что одно из значений столбца превышает предел столбца базы данных, в который я хочу вставить значение.

Что-то вроде вставки «привет, мой друг» в столбец varhchar2 (2).

Но спасибо, что посмотрели на это.

...