|
|
|
Заполнить ТБД
|
|||
|---|---|---|---|
|
#18+
У меня есть две Access'овских базы данных с разными именами, но абсолютно идентичные внутри. Т.е. в каждой, к примеру, по две таблицы, с абсолютно идентичной структурой. Каким образом можно средствами ADO.NET передать из БД1.ТБД1 данные в БД2.ТБД2 ? Я окончательно запутался в понятиях и иерархии DataSet DataRow, DataTable и т.д. Просьба не пинать, т.к. с ADO.NET разбираюсь всего с недельку. Буду очень благодарен за образец кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2008, 17:45 |
|
||
|
Заполнить ТБД
|
|||
|---|---|---|---|
|
#18+
bob_j смотри, всё начинается от Connection'а, как только он создан, то дальнейшая работа с датаСетами/датаТейблами/коммандами происходит с помощью этого конекшна. следовательно, вам необходимо создать 2 конекншна, один для одной базы, другой для другой, а затем уже переносите базу любым из известных вам способом, что Command'ом, что DataSet'ом/DataTable'ом ;) ЗЫ также почитайте вот это (ссылка в МСДНе): ms-help://MS.MSDNQTR.v90.en/wd_adonet/html/83a7a0d2-8018-4354-97b9-0b1d99f8342b.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2008, 08:34 |
|
||
|
Заполнить ТБД
|
|||
|---|---|---|---|
|
#18+
Ниже образец моего кода. Когда выполнение доходит до строки daOneT.Update(dsOneT, "tblOne"); , я получаю сообщение: "Для обновления требуется действительный InsertCommand при передаче коллекции DataRow с новыми строками." , хотя во всех книгах пишут о том, что достаточно просто добавить новые объекты DataRow в Table и вызвать метод Update Adapter'а. Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2008, 22:22 |
|
||
|
Заполнить ТБД
|
|||
|---|---|---|---|
|
#18+
2 WYPMAH, за ссылку спасибо, но там решение для сиквел сервера, а в моем случае к сожалению акцес. Небольшой оффтоп. Не въеду, в чем польза от ADO.NET, а именно работа с отключенным соединением? Нафига городить в памяти клиента дубликат БД (это же ненужная нагрузка на клиент - вырастут требования к его вычислительным мощностям), если всю необходимую бизнес-логику можно отдать серверу, а клиенту отдавать готовый результат, тут будет и экономия трафика и низкие требования к клиенту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2008, 22:32 |
|
||
|
Заполнить ТБД
|
|||
|---|---|---|---|
|
#18+
bob_j например, так: Код: plaintext 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. ЗЫ да, и пользуйтесь using'ом для IDisposable объектов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2008, 09:48 |
|
||
|
Заполнить ТБД
|
|||
|---|---|---|---|
|
#18+
Новый затык, теперь с транзакцией Код: plaintext 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. Когда выполнение доходит до строки: builder.GetInsertCommand().ToString(); , то получаю сообщение: "ExecuteReader требует, чтобы команда имела транзакцию, если подключение, назначенное команде, находится в отложенной локальной транзакции Свойство Transaction для команды не инициализировано." . Подскажите, где я опять накосячил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2008, 10:56 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=17&tid=1352202]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
79ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 410ms |

| 0 / 0 |
