|
|
|
ODAC. Передать массив в качестве параметра ХП
|
|||
|---|---|---|---|
|
#18+
Подскажите, как правильно передать массив? На стороне БД Код: plsql 1. 2. Код 1) Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Пробовал через oProc.Params[0].AsArray.AllocObject (вылетает с AV т.к. тип определен в пакете) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2019, 12:51 |
|
||
|
ODAC. Передать массив в качестве параметра ХП
|
|||
|---|---|---|---|
|
#18+
Попробуйте присовить значения в цикле: Код: pascal 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2019, 14:22 |
|
||
|
ODAC. Передать массив в качестве параметра ХП
|
|||
|---|---|---|---|
|
#18+
devart, так получается. спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2019, 15:39 |
|
||
|
ODAC. Передать массив в качестве параметра ХП
|
|||
|---|---|---|---|
|
#18+
Я создаю объекты ToraStoredProc и задаю параметры вручную, потому что на момент создания у меня нет сессии и поэтому использовать Prepare не могу. Когда в главном потоке создаю объекты ToraStoredProc, то все отрабатывает хорошо, но как только я пытаюсь создать в потоках, то у меня выскакивает ошибка: data type is not allowed for a dml array Почему так происходит. Какая из операций не потокобезопасна? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2019, 16:40 |
|
||
|
ODAC. Передать массив в качестве параметра ХП
|
|||
|---|---|---|---|
|
#18+
приведите, пожалуйста, пример кода: как и что вы создаете в потоках ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2019, 16:49 |
|
||
|
ODAC. Передать массив в качестве параметра ХП
|
|||
|---|---|---|---|
|
#18+
Код: pascal 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. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2019, 16:56 |
|
||
|
ODAC. Передать массив в качестве параметра ХП
|
|||
|---|---|---|---|
|
#18+
я вот прямо на днях столкнулся с ситуацией, когда передать в процедуру массив через ODAC оказалось в два-три раза медленее, чем вызвать процедуру (которая не использует массив) для каждого значения массива ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2019, 18:17 |
|
||
|
ODAC. Передать массив в качестве параметра ХП
|
|||
|---|---|---|---|
|
#18+
cptngrb Код: pascal 1. 2. 3. 4. Это просто праздник какой-то! (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2019, 22:10 |
|
||
|
ODAC. Передать массив в качестве параметра ХП
|
|||
|---|---|---|---|
|
#18+
defecator, white_nigger et al Вы о каких массивах толкуете, Други?! В сиквелах есть массивы? Ясен пень, через временные таблицы, вьюшки, OLAP, парсеры строк (ограниченных длиной) ну былв у меня к функция разборки вида fn '-10,0,1,2,3,10-40,99' в tempteble, но ОЧЕНЬ медленная - говно короче Покажите квази-пенсионеру DDL please. А если план исполнения нарисуете, вы вообще монстры! ______ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2019, 00:30 |
|
||
|
ODAC. Передать массив в качестве параметра ХП
|
|||
|---|---|---|---|
|
#18+
Ну в том же mssql есть табличный параметр, с клиента на сервер можно передать данные в виде датасета. SDAC от девартов это умеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2019, 12:48 |
|
||
|
ODAC. Передать массив в качестве параметра ХП
|
|||
|---|---|---|---|
|
#18+
white_nigger, а в чем праздник? Prepare делать не могу, так как сессию получаю непосредственно перед выполнением запроса, а по другому как параметры установить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2019, 17:26 |
|
||
|
ODAC. Передать массив в качестве параметра ХП
|
|||
|---|---|---|---|
|
#18+
cptngrb Код: pascal 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. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. мы вставили этот код в пустое консольное приложение - он выполнился без ошибок. не могли бы вы привести полный пример: начиная с создания потоков и заканчивая их выполнением, который будет воспроизводить проблему с описаной вами ошибкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2019, 09:50 |
|
||
|
ODAC. Передать массив в качестве параметра ХП
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2019, 09:55 |
|
||
|
ODAC. Передать массив в качестве параметра ХП
|
|||
|---|---|---|---|
|
#18+
Foxpc, в чем разница? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2019, 11:42 |
|
||
|
ODAC. Передать массив в качестве параметра ХП
|
|||
|---|---|---|---|
|
#18+
cptngrbwhite_nigger, а в чем праздник?C ODAC не работал, но я бы сделал что-то вроде (на коленке) Код: pascal 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. Не люблю портянки. Число параметров - по вкусу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2019, 11:47 |
|
||
|
ODAC. Передать массив в качестве параметра ХП
|
|||
|---|---|---|---|
|
#18+
white_nigger, ааа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2019, 12:10 |
|
||
|
ODAC. Передать массив в качестве параметра ХП
|
|||
|---|---|---|---|
|
#18+
devart, да, на пустом проекте без ошибок. буду копать глубже ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2019, 12:36 |
|
||
|
ODAC. Передать массив в качестве параметра ХП
|
|||
|---|---|---|---|
|
#18+
devart, мой код выполняется с ошибками ЕСЛИ поменять очередность установки параметров рабочий код Код: pascal 1. 2. 3. не рабочий код Код: pascal 1. 2. 3. Видимо при выделении памяти нужно заранее знать тип данных P.S. Использую демку, исходников нет, строю догадки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2019, 16:09 |
|
||
|
ODAC. Передать массив в качестве параметра ХП
|
|||
|---|---|---|---|
|
#18+
cptngrbне рабочий код Код: pascal 1. 2. 3. Видимо при выделении памяти нужно заранее знать тип данных вот пример имеенно с таким порядком заполнения атрибутов параметра - ошибок нет: Код: pascal 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. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. мы уже писали: если вы хотите, чтобы вам помогли, то приведите весь код, который приводит к возникновению ошибок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2019, 10:05 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39797626&tid=2039596]: |
0ms |
get settings: |
6ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
161ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 474ms |

| 0 / 0 |
