|
|
|
Dataset & DataAdapter
|
|||
|---|---|---|---|
|
#18+
А фиг его знает - он в русском переводе имеется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2008, 11:28 |
|
||
|
Dataset & DataAdapter
|
|||
|---|---|---|---|
|
#18+
noisetteуважаемые конферяне, пытаюсь перейти с адо на адо.нет. позвольте мне один только вопрос. могу ли я принципиально загрузить в датасет данные датаадаптером из источника А (напимер, аксесса) и потом датаадаптером из датасета их перенести в получатель Б (например, на сервер)? то есть по сути реализовать дата флоу таск? читал про такие методы датаадаптера как апдейд, инсерт/делит/комманд, но пока не понял, как вытащить данные из датасета... если у вас вдруг есть пример кода, совсем будет замечательно ))) Можете, например так(FW 1.0) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. DataRow в ds_dest стало Added и таким образом DataAdapter выполнил бы для этого рау команду вставки. WYPMAHчто вы за сложности изобретаете? зачем вам датаТейблы если вы просто хотите перенести данные? алгоритм ваших действий таков: - создали коннекшн; - открыли транзакцию; - выполнили выборку (комманд вам в помощь); - прочитали выборку в цикле (ридер поможет); - в цикле выполнили параметризированный инсерт (тот же комманд это умеет); - закрыли транзакцию. ВСЁ! Если у нас два источника данных, то ИМХО такая схема не пройдет. Для каждого источника свой коннектшн, а объект транзактшн ассоциирован с конкретным коннекшном. --- По-видимому(сам никогда не занимался), перенос данных совсем не простая штука, не зря же в MS SQL 2005 этим занимается отдельный компонент - Integration Services ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2008, 15:41 |
|
||
|
Dataset & DataAdapter
|
|||
|---|---|---|---|
|
#18+
вот уж транзакции на двух источниках не проблема: у мну есть клиентский тул - аксесс, который хранит данные локально и коннектится на свервер - чтоб и там данные обновить вот у мну и стоят в коде параллельные mdb_cn.BeginTrans sql_cn.BeginTrans и коммиты. а если хоть в одном коннекшне возникает ошибка (адо, не адо.нет), то роллбэчу обе транзакции. работает "на ура" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2008, 15:51 |
|
||
|
Dataset & DataAdapter
|
|||
|---|---|---|---|
|
#18+
изложенного в примере пока не осилил - буду разбираться. пасиб ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2008, 15:54 |
|
||
|
Dataset & DataAdapter
|
|||
|---|---|---|---|
|
#18+
noisetteвот уж транзакции на двух источниках не проблема: у мну есть клиентский тул - аксесс, который хранит данные локально и коннектится на свервер - чтоб и там данные обновить вот у мну и стоят в коде параллельные mdb_cn.BeginTrans sql_cn.BeginTrans и коммиты. а если хоть в одном коннекшне возникает ошибка (адо, не адо.нет), то роллбэчу обе транзакции. работает "на ура" А можно поподробнее, не очень понял всё структуру, особенно как выполняется коммит обоих транзакций Если написать, что-то вроде Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Но если первый удастся, а второй нет, то первый уже не откатить. Т.е такая схема не подходит А у вас как?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2008, 16:33 |
|
||
|
Dataset & DataAdapter
|
|||
|---|---|---|---|
|
#18+
вырезав незначащие куски кода, оставил только форму. напоминаю, что это адо для вба в офисе 2003. из таблицы я беру значения полей для каждой записи, пробегаю циклом и формирую запрос. у меня два адо коннекшна - на локальную базу и на сервер Код: 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. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. в общем так вот ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2008, 17:01 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=35367749&tid=1352241]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
38ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 302ms |

| 0 / 0 |
