|
DataSet для разных источников данных
|
|||
---|---|---|---|
#18+
Уважаемый форум, Вполне возможно, что вопрос идиотский, но увы. Итак, есть два источника данных - две базы данных (SQL - сетевая база и SQL Compact - локальная база на клиентском компе). В приложении необходимо организовать обмен данными между ними по нажатию кнопки. Локальная база привязана к приложению, а сетевая подключается при наличии интернета. Вопрос: можно ли использовать один датасет для обмена данными между базами? Если да, то почему после выполнения кода (заполнение таблиц в датасете из сетевой базы), эти таблицы не показываются в экплорере VS? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Ошибки не выдает, надо понимать так, что все правильно, но ни датасета "test", ни таблиц в существующем датасете, если его имя подставить в Q_dataset.DataSetName в эксплорере не видно. Что я делаю не так? (с) Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2017, 17:56 |
|
DataSet для разных источников данных
|
|||
---|---|---|---|
#18+
В одном, если только по очереди. Но вам же самому удобнее иметь комплект на одну бд и комплект на другую. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2017, 18:47 |
|
DataSet для разных источников данных
|
|||
---|---|---|---|
#18+
Можно. Что Вы там с ошибками делаете - не знаю ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2017, 19:42 |
|
DataSet для разных источников данных
|
|||
---|---|---|---|
#18+
Petro123В одном, если только по очереди. Но вам же самому удобнее иметь комплект на одну бд и комплект на другую. ДатаСет - это локальная модель. Можно вообще без баз данных использовать ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2017, 19:43 |
|
DataSet для разных источников данных
|
|||
---|---|---|---|
#18+
Cat2Petro123В одном, если только по очереди. Но вам же самому удобнее иметь комплект на одну бд и комплект на другую. ДатаСет - это локальная модель. Можно вообще без баз данных использовать Наполняется из базы? Зачем ему третья база из локальной. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2017, 19:49 |
|
DataSet для разных источников данных
|
|||
---|---|---|---|
#18+
Cat2, интересно, как тогда хранить данные, если датасет существует только в оперативке? Локальная база используется, если нет соединения с интернетом. Оттуда данные нужно перегнать в сетевую базу. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 12:58 |
|
DataSet для разных источников данных
|
|||
---|---|---|---|
#18+
Petro123, что по очереди? Не совсем понятно. Если я правильно догадываюсь, один датасет должен содержать таблицы из одного источника и из другого. Вопрос: как это сделать? У меня не получилось, поэтому и спрашиваю. Если иметь два датасета - по одному для каждого источника, то это удобнее, вы правы. Но как организовать переброску данных из одного в другой? Я не совсем понимаю, можно примерчик? Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 13:02 |
|
DataSet для разных источников данных
|
|||
---|---|---|---|
#18+
IFKCat2, интересно, как тогда хранить данные, если датасет существует только в оперативке? Локальная база используется, если нет соединения с интернетом. Оттуда данные нужно перегнать в сетевую базу. Ну и перегоните, какие проблемы? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 13:09 |
|
DataSet для разных источников данных
|
|||
---|---|---|---|
#18+
Cat2, проблем нет, если знать как. :) Я - не знаю, поэтому и спрашиваю. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 13:12 |
|
DataSet для разных источников данных
|
|||
---|---|---|---|
#18+
IFKУ меня не получилось, поэтому и спрашиваю. Честно говоря глядя на приведенный Вами код я не уверен, что ЭТО вообще работать будет . Если таблицы из двух баз заполняются , то должно быть два Connection ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 13:16 |
|
DataSet для разных источников данных
|
|||
---|---|---|---|
#18+
Без проверки, навскидку. И это не образец для подражания, а просто один из вариантов!!! Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 13:24 |
|
DataSet для разных источников данных
|
|||
---|---|---|---|
#18+
Cat2, угу, что-то подобное я как раз пробую: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Теперь вопрос: как проверить, что это сработало? В эксплорере источников данных я никакого датасета с именем "test" не вижу. Так должно быть? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 13:30 |
|
DataSet для разных источников данных
|
|||
---|---|---|---|
#18+
IFKCat2, интересно, как тогда хранить данные, если датасет существует только в оперативке? Локальная база используется, если нет соединения с интернетом. Оттуда данные нужно перегнать в сетевую базу. Код: c# 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 13:44 |
|
DataSet для разных источников данных
|
|||
---|---|---|---|
#18+
fortibransa, и какая разница, в XML или в локальной базе? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 13:57 |
|
DataSet для разных источников данных
|
|||
---|---|---|---|
#18+
IFK, 1. Делаете на кнопку выброс в лог из обоих баз информацию (два connection и два датасета к ним как вариант). 2. Пробуете из одной не в лог а во вторую базу. Всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 14:00 |
|
DataSet для разных источников данных
|
|||
---|---|---|---|
#18+
Petro123, и как вы себе это представляете? Я не совсем понимаю, как это осуществить. :( ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 14:15 |
|
DataSet для разных источников данных
|
|||
---|---|---|---|
#18+
сомнительный способ, хотели как лучше, а получилось как всегда. это только на 1 взгляд кажется "проще и удобнее", а на деле вы уже сейчас страдаете. если нужно сделать экспорт\импорт из 1 базы в другую, что мешает просто читать таблицу и делать bulk insert как все нормальные люди? а если таблица будет не 2 кб, а 4 гб? всё грузить в память, а потом в базу? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 14:19 |
|
DataSet для разных источников данных
|
|||
---|---|---|---|
#18+
IFKPetro123, и как вы себе это представляете? Я не совсем понимаю, как это осуществить. :( Я предлагаю по шагам, без всякой оптимищации. Не умеем на экран писать табличку? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 14:22 |
|
DataSet для разных источников данных
|
|||
---|---|---|---|
#18+
Roman Mejtes, угу, но это хорошо если трансфер данных односторонний, например из сетевой базы с локальную. А мне нужно еще и в другую сторону, когда локальные данные в сетевую базу должны ехать. Причем, bulk не получится - потрется все. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 14:28 |
|
DataSet для разных источников данных
|
|||
---|---|---|---|
#18+
Petro123, вот тут не совсем понятно, что вы имели в виду => "2. Пробуете из одной не в лог а во вторую базу." ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 14:29 |
|
DataSet для разных источников данных
|
|||
---|---|---|---|
#18+
IFK, Я не знаю, что вы умеете, а что нет. Через клиента это в цикле переписывать в переменные и потом вставлять в ДатаСет2 или insert ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 14:37 |
|
DataSet для разных источников данных
|
|||
---|---|---|---|
#18+
Petro123, это как раз понятно. Я использую массивы для этого. Непонятно, почему не добавляются таблицы в датасет, когда я их добавляю программно из разных источников. Вернее, эти таблицы не видны в студии в разделе "Источники данных". Если создавать новый датасет программно, используя два соединения и т.д., то его тоже не видно в студии. Я понимаю, что может быть вариант "Ты суслика видишь? Нет. И я нет, а он есть.", но хотелось бы прояснить этот момент. Второй момент был об оптимизации задачи перекачки данных из одного источника в другой (из локальной базы в сиквел и наоборот). Варианты: - один общий датасет и переливание между таблицами - два датасета и переливание между ними. Здесь не все понятно, как именно это сделать. Я бы использовал массивы, но не уверен, что нет пути проще и быстрее. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 15:06 |
|
DataSet для разных источников данных
|
|||
---|---|---|---|
#18+
IFK, Не создавай программно. 2. Оптимизация это не через клиент, а как вариант - репликация. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 15:18 |
|
DataSet для разных источников данных
|
|||
---|---|---|---|
#18+
Petro123, К сожалению, сетевая база не в моем распоряжении и доступ к ней возможен только через непрозрачные ХП - чисто вытащить результирующий набор данных. Заливка обратно тоже через ХП. Если бы я мог напрямую связать сетевую базы - я бы вообще этот вопрос не поднимал. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2017, 15:25 |
|
|
start [/forum/topic.php?fid=20&msg=39550933&tid=1399615]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 336ms |
total: | 474ms |
0 / 0 |