|
Помогите разобраться (проблема с scope_identity() и SqlBulkCopy)
|
|||
---|---|---|---|
#18+
Народ, помогите разобраться с проблемой: 1. выполняю запрос: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
SELECT scope_identity() всегда возвращает значение "1" !!! Я ума не приложу, в чем проблема! Если я подобный запрос пишу на SQL, то как обычно выводит последний вставленный столбец. В чем может быть проблема? SELECT CAST(scope_identity() AS int) AS LAST_IDENTITY - тот же результат. 2. После этого выполняю: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
Я уже базу данных заюзал 2012 SQL SERVER, естественно безрезультатно =)) В чем может быть проблема? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2012, 11:48 |
|
Помогите разобраться (проблема с scope_identity() и SqlBulkCopy)
|
|||
---|---|---|---|
#18+
В этом InsertFiles2DB. ExecuteNonQuery () ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2012, 12:16 |
|
Помогите разобраться (проблема с scope_identity() и SqlBulkCopy)
|
|||
---|---|---|---|
#18+
А слона-то я и не приметил! Пришел к выводу, что спать надо хотя бы раз в сутки :-) buser, Спасибо!!! А что Вы думаете о SqlBulkCopy в контексте примера? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2012, 13:15 |
|
Помогите разобраться (проблема с scope_identity() и SqlBulkCopy)
|
|||
---|---|---|---|
#18+
Чудес не бывает.... Может SqlBulkCopyOptions.FireTriggers ? Может просто чуть внимательнее нужно быть :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2012, 16:28 |
|
Помогите разобраться (проблема с scope_identity() и SqlBulkCopy)
|
|||
---|---|---|---|
#18+
Закрытие отчетного периода подкралось как обычно незаметно, а в спешке людям свойственно принимать глупые непродуманные решения. По поводу одного такого сижу уже сутки, пытаясь заставить летать уже давно мертвого зверя, и внимательность, к сожалению, падает %) SqlBulkCopyOptions.FireTriggers нужен для запуска триггера ПОСЛЕ выполнения запроса. Объявил заполняемое поле как NULL... все проходит замечательно (даже триггер отрабатывает), однако поле остается пустым. Сижу-разбираюсь, в чем проблема. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2012, 16:54 |
|
Помогите разобраться (проблема с scope_identity() и SqlBulkCopy)
|
|||
---|---|---|---|
#18+
Разобрался! Дело в том, что SqlBulkCopy не делает автоматический маппинг столбцов! Если маппинг не задать, он положит значения в том порядке, в котором они расположены на сервере!!! А я наивно полагал, что он делает маппинг автоматически на основе заголовков скармливаемой таблицы. И это логично, так как можно либо скормить DataTable, либо DataRow[]. Как оказалось, это сделали для удобства =) (еще бы автомаппинг для удобство сделали, вообще было бы шикарно) В общем, все решилось нехитрой строчкой: Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2012, 18:57 |
|
|
start [/forum/topic.php?fid=17&msg=37933447&tid=1350260]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
75ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 317ms |
total: | 478ms |
0 / 0 |