|
Импорт данных из 1С в Oracle
|
|||
---|---|---|---|
#18+
Возникла необходимость в передаче данных из 1С в базу Oracle. В 1С через ODBC было настроено соединение. С помощью ADODB можно выполнять PL-SQL выражения или просто DML-команды INSERT в оракловскую базу. Проблема в том, что нужно передать много - миллионы записей. Чтобы передать, нужно выполнить PL-SQL выражение, но перед этим его нужно сформировать. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
В 1С средствами его языка надо формировать этот текст запроса. Взяв каким то образом из базы 1С значения нужно формировать миллион "SELECT значение1, значение2, … FROM DUAL". Но что то мне подсказывает, что это плохо. Как бы это лучше сделать? Ведь тут не сделать SELECT к какой то таблице оракла, потому что данные берутся из 1С. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2022, 18:08 |
|
Импорт данных из 1С в Oracle
|
|||
---|---|---|---|
#18+
verter Как бы это лучше сделать? Много способов. - select from 1c_tables со стороны оракла; - insert into oracle_tables со стороны 1С (точнее, MSSQL); - файловая передача, в т.ч. миллионы insert - замерьте скорость. Поскольку связи между 1С-объектами и таблицами БД может установить только движок 1С, единственный правильный способ - воспользоваться им и сделать сервис обмена данными. Пример: Код: xml 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. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202.
Ведь тут не сделать SELECT к какой то таблице оракла, потому что данные берутся из 1С. Любые селекты Oracle-MSSQL, MSSQL-Oracle можно сделать, вопрос в желании. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2022, 18:18 |
|
Импорт данных из 1С в Oracle
|
|||
---|---|---|---|
#18+
verter, Выполните выгрузку таблиц 1С в текстовые файлы и затем загружайте из этих файлов данные в базу Oracle, используя стандартную утилиту SQL*Loader. Другой вариант - настроить Oracle® Database Gateway for ODBC ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2022, 18:24 |
|
Импорт данных из 1С в Oracle
|
|||
---|---|---|---|
#18+
Может быть вообще обойтись без обработок в 1С и без использования ADODB в них. Допустим 1С специалист хорошо знает структуру MSSQL базы, тогда подключив через ODBC Оракл к MSSQL можно было бы с сервера MSSQL скриптом lделать запрос к MSSQL базе, а резалт-сет вставлять в оракловскую базу. В Оракле есть гетерогенный сервис благодаря которому можно в одном и том же запросе обращаться как к таблицам оракла так и к таблицам MSSQL, с которым связь настроена через ODBC. Но вот не знаю есть ли подобный сервис у MSSQL чтобы сделать наоборот - из MSSQL обращаться одновременно и к MSSQL таблицам и оракловым? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2022, 00:10 |
|
Импорт данных из 1С в Oracle
|
|||
---|---|---|---|
#18+
verter, Гугл, и даже на русском ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2022, 09:18 |
|
Импорт данных из 1С в Oracle
|
|||
---|---|---|---|
#18+
Допустим 1С специалист хорошо знает структуру MSSQL базы, тогда подключив через ODBC Оракл к MSSQL можно было бы с сервера MSSQL скриптом lделать запрос к MSSQL базе, а резалт-сет вставлять в оракловскую базу. Так действовать можно, но код будет трудночитаемый. Пример: Код: plsql 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.
Кроме того, при переезде, при апгрейде и еще каких-то действиях эти динамически генерируемые поля могут поменяться, и придется это тоже отрабатывать. Я попробовал данный подход и отказался от него в пользу передачи данных web-сервисом, типами XML и JSON. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2022, 12:25 |
|
|
start [/forum/topic.php?fid=52&msg=40134324&tid=1879511]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
284ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 312ms |
total: | 697ms |
0 / 0 |