Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
06.03.2012, 11:16
|
|||
---|---|---|---|
Вставка с помощью хранимой процедуры. Oracle |
|||
#18+
Пытаюсь сделать вставку в БД с помощью ХП, вылетает ошибка: Код: plsql 1. 2. 3. 4. 5. 6.
Не могу понять, что не так, вот сам вызов: Код: c# 1.
Если вызывать ХП напрямую через ADO.NET, то все работает. Где я ошибся, подскажите? Вот маппинг: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Вот процедура: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
А вот полный лог ошибки: BEGIN W_MMKT.PK_STO.P_TEST_CREATE_ISPOB(:p0); END;:p0= 'MARATOSS_TEST1' [Type: String(14)], :p1= NULL [Type: String(0)], :p2= '' [Type: String(0)], :p3= '1' [Type: String(1)] Couldnot execute command: BEGIN W_MMKT.PK_STO.P_TEST_CREATE_ISPOB(:p0); END; System.Data.OracleClient.OracleException(0x80131938): ORA-01036: illegal variable name/number at System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle errorHandle, Int32 rc) at System.Data.OracleClient.OracleParameterBinding.Bind(OciStatementHandle statementHandle, NativeBuffer parameterBuffer, OracleConnection connection, Boolean& mustRelease, SafeHandle& handleToBind) at System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciRowidDescriptor& rowidDescriptor, ArrayList& resultParameterOrdinals) at System.Data.OracleClient.OracleCommand.ExecuteNonQueryInternal(Boolean needRowid, OciRowidDescriptor& rowidDescriptor) at System.Data.OracleClient.OracleCommand.ExecuteNonQuery() at NHibernate.AdoNet.AbstractBatcher.ExecuteNonQuery(IDbCommand cmd) System.Data.OracleClient.OracleException(0x80131938): ORA-01036: illegal variable name/number at System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle errorHandle, Int32 rc) at System.Data.OracleClient.OracleParameterBinding.Bind(OciStatementHandle statementHandle, NativeBuffer parameterBuffer, OracleConnection connection, Boolean& mustRelease, SafeHandle& handleToBind) at System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciRowidDescriptor& rowidDescriptor, ArrayList& resultParameterOrdinals) at System.Data.OracleClient.OracleCommand.ExecuteNonQueryInternal(Boolean needRowid, OciRowidDescriptor& rowidDescriptor) at System.Data.OracleClient.OracleCommand.ExecuteNonQuery() at NHibernate.AdoNet.AbstractBatcher.ExecuteNonQuery(IDbCommand cmd) at NHibernate.AdoNet.NonBatchingBatcher.AddToBatch(IExpectation expectation) at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessionImplementor session) ORA-01036: illegal variable name/number Couldnot synchronizedatabase statewith session NHibernate.Exceptions.GenericADOException: couldnot insert: [InstrumentPreparation.DetailUnit#1][SQL: BEGIN W_MMKT.PK_STO.P_TEST_CREATE_ISPOB(?); END;] ---> System.Data.OracleClient.OracleException: ORA-01036: illegal variable name/number at System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle errorHandle, Int32 rc) at System.Data.OracleClient.OracleParameterBinding.Bind(OciStatementHandle statementHandle, NativeBuffer parameterBuffer, OracleConnection connection, Boolean& mustRelease, SafeHandle& handleToBind) at System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciRowidDescriptor& rowidDescriptor, ArrayList& resultParameterOrdinals) at System.Data.OracleClient.OracleCommand.ExecuteNonQueryInternal(Boolean needRowid, OciRowidDescriptor& rowidDescriptor) at System.Data.OracleClient.OracleCommand.ExecuteNonQuery() at NHibernate.AdoNet.AbstractBatcher.ExecuteNonQuery(IDbCommand cmd) at NHibernate.AdoNet.NonBatchingBatcher.AddToBatch(IExpectation expectation) at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessionImplementor session) --- End of inner exception stack trace --- at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessionImplementor session) at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Object obj, ISessionImplementor session) at NHibernate.Action.EntityInsertAction.Execute() at NHibernate.Engine.ActionQueue.Execute(IExecutable executable) at NHibernate.Engine.ActionQueue.ExecuteActions(IList list) at NHibernate.Engine.ActionQueue.ExecuteActions() at NHibernate.Event.Default.AbstractFlushingEventListener.PerformExecutions(IEventSource session) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.03.2012, 09:24
|
|||
---|---|---|---|
Вставка с помощью хранимой процедуры. Oracle |
|||
#18+
Если в процедуру и в маппинге добавить еще 3 входных параметра, то все работает Код: c# 1.
Код: plsql 1.
Как добиться того, чтобы передавался только один параметр Value ? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.03.2012, 19:46
|
|||
---|---|---|---|
Вставка с помощью хранимой процедуры. Oracle |
|||
#18+
авторКак добиться того, чтобы передавался только один параметр Value? Код: c# 1.
Еще вопрос. У меня добавляются данные из одной таблицы в другую, с помощью этой процедуры. Как заполнить первичный ключ объекта, который сгенерировался, при сохранении? Первичный ключ задается sequence. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.03.2012, 19:50
|
|||
---|---|---|---|
Вставка с помощью хранимой процедуры. Oracle |
|||
#18+
Для понятности примерчик. Вот сохраняю: Код: c# 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.03.2012, 21:09
|
|||
---|---|---|---|
Вставка с помощью хранимой процедуры. Oracle |
|||
#18+
maratossДля понятности примерчик. Вот сохраняю: Код: c# 1. 2. 3.
Вот так сделал Код: c# 1. 2.
Код: plsql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=17&mobile=1&tid=1350424]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
79ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 187ms |
0 / 0 |