Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Dataset из одного источника в другой - как сделать?
|
|||
|---|---|---|---|
|
#18+
Дано: есть адаптер на один сервер. Он связан с датасетом. В датасет успешно запихиваются данные. Надо: сконфигурить адаптер на другой сервер. Связать этот второй адаптер с существующим датасетом и залить целиком все данные в таблицу на втором сервере. Путь решения (отстойный): выбрать первую строку в готовом датасете. Распарсить ее, склеить SQL команду, передать на выполнение. Повторить N раз. Путь мне не нравится - куча действий для собственно говоря пустого копирования таблицы. Как сделать по-человечески? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2005, 16:21 |
|
||
|
Dataset из одного источника в другой - как сделать?
|
|||
|---|---|---|---|
|
#18+
А что мешает сделать такую схему? 1) Создаете адаптер1, настроенный на 1-ю базу. Заполняете датасет. adapter1.Fill(ds); 2) Помечаете все строки в датасете как добавленные 3) СОздаете адаптер2, настроенный на 2-ю базу. Апдейтите этим адптером подготовленный датасет. adapter2.Update(ds); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2005, 16:31 |
|
||
|
Dataset из одного источника в другой - как сделать?
|
|||
|---|---|---|---|
|
#18+
Как сделать по-человечески? ИМХО по человечески не делать этого в ADO.NET :-) ... Создаете адаптер1, настроенный на 1-ю базу. Заполняете датасет. adapter1.Fill(ds.... DataSet так то прожорлив. Какой объем данных находиться в таблицах? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2005, 16:38 |
|
||
|
Dataset из одного источника в другой - как сделать?
|
|||
|---|---|---|---|
|
#18+
Sa[quot ] Как сделать по-человечески? ИМХО по человечески не делать этого в ADO.NET :-) Это точно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2005, 16:44 |
|
||
|
Dataset из одного источника в другой - как сделать?
|
|||
|---|---|---|---|
|
#18+
По-хорошему, я бы конечно это сделал через DTS. Если конечно СУБД не слишком экзотические. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2005, 16:52 |
|
||
|
Dataset из одного источника в другой - как сделать?
|
|||
|---|---|---|---|
|
#18+
2 Bigheadman авторА что мешает сделать такую схему? Отсутствие опыта автор2) Помечаете все строки в датасете как добавленные 3) СОздаете адаптер2, настроенный на 2-ю базу. Апдейтите этим адптером подготовленный датасет. adapter2.Update(ds); Это как? Вот у меня скажем есть такое: Код: plaintext 1. 2. 3. 4. 5. Вот теперь то что лежит в ifxDS надо запихать в таблицу на MSSQL. Код: plaintext 1. 2. 3. 4. 5. Как правильно-то сделать? 2 Sa авторDataSet так то прожорлив. Наплевать. Не те объемы. авторКакой объем данных находиться в таблицах? За раз - не больше 20 тыс. строк. Таблица - 7 колонок. 2 hDrummer авторИМХО по человечески не делать этого в ADO.NET :-) Угу. Только как данные с одного сервера на другой перепихать (с Информикса на MSSQL), если linked server не добавляется, а датасет открыть можно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2005, 16:55 |
|
||
|
Dataset из одного источника в другой - как сделать?
|
|||
|---|---|---|---|
|
#18+
а какой криминал ? ведь работает: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2005, 16:58 |
|
||
|
Dataset из одного источника в другой - как сделать?
|
|||
|---|---|---|---|
|
#18+
а какой криминал ? А кто ж знал для каких объемов будет заполняться DataSet :-) Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2005, 17:13 |
|
||
|
Dataset из одного источника в другой - как сделать?
|
|||
|---|---|---|---|
|
#18+
авторИМХО по человечески не делать этого в ADO.NET :-) Угу. Только как данные с одного сервера на другой перепихать (с Информикса на MSSQL), если linked server не добавляется, а датасет открыть можно? А если б .Net не было, как бы вы поступили? Можно через csv перелить например, или как тут говорили - через DTS. Хотя, конечно, дело ваше. Только DataSet для этих дел не затачивался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2005, 17:17 |
|
||
|
Dataset из одного источника в другой - как сделать?
|
|||
|---|---|---|---|
|
#18+
hDrummerТолько DataSet для этих дел не затачивался. насчет скорости копирования - это будет полный ПЭ. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2005, 17:24 |
|
||
|
Dataset из одного источника в другой - как сделать?
|
|||
|---|---|---|---|
|
#18+
SQLRоokiеУгу. Только как данные с одного сервера на другой перепихать (с Информикса на MSSQL), если linked server не добавляется, а датасет открыть можно? Я когда-то импортировал данные из Informix в MSSQL 2000 с помощью DTS. Проблем не было никаких, за исключением нескольких специфических. Даты меньше 1 января 1753 года и кажется BLOB поля ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2005, 17:26 |
|
||
|
Dataset из одного источника в другой - как сделать?
|
|||
|---|---|---|---|
|
#18+
2 кузя авторнасчет скорости копирования - это будет полный ПЭ. Меньше 1 секунды при парсинге строк. Меня такая скрость вполне устраивает. 2 hDrummer авторА если б .Net не было, как бы вы поступили? Copy/Paste из Гуевых таблиц - и все в Ексель. А там VLOOP на дофига строк. Собственно говоря так оно до сих пор и делается. И меня жутко бесит. 2 Alexey Kudinov Я по-моему вполне конкретный вопрос задал - как имея датасет в одном источнике, запихать данные из него в другой? Насчет проблем с информиксом - а если данные не в таблицах лежат а их ХП генерит динамически? ХП параметры передавать надо. А если запускаться должно по определенному событию? А если ДТС не знаешь? ;о) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2005, 18:02 |
|
||
|
Dataset из одного источника в другой - как сделать?
|
|||
|---|---|---|---|
|
#18+
авторЯ по-моему вполне конкретный вопрос задал - как имея датасет в одном источнике, запихать данные из него в другой? Что вас не устраивает/вам не понятно в предложенной мною схеме? Делать Fill и Update разными адаптерами вполне допустимо. Точнее так - если нигде не написано, что нельзя, значит можно. Вы привели некую заготовку кода. Что у вас не получается в ней? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2005, 18:06 |
|
||
|
Dataset из одного источника в другой - как сделать?
|
|||
|---|---|---|---|
|
#18+
OFF: Я по-моему вполне конкретный вопрос задал - как имея датасет в одном источнике, запихать данные из него в другой? Поверьте, если бы всегда приходилось отвечать только на конкретно поставленные вопросы, форума бы и не было. Alexey Kudinov вам сказал о реальном использовании DTS в похожей ситуации, я бы на вашем месте был бы ему благодарен. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2005, 18:10 |
|
||
|
Dataset из одного источника в другой - как сделать?
|
|||
|---|---|---|---|
|
#18+
Bigheadman что с тобой сегодня. Это было адресовано ни тебе :-) Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2005, 18:13 |
|
||
|
Dataset из одного источника в другой - как сделать?
|
|||
|---|---|---|---|
|
#18+
2 Bigheadman авторЧто вас не устраивает/вам не понятно в предложенной мною схеме? Если честно - ничего не понятно. Вернее так: 1. Что должно быть записано в качестве команды insComm, на основнии которой потом будет создаваться адаптер? Все равно что? 2. Допустим я создал второй адаптер (sqlDA). Если я делаю sqlDA.Update(sqlDS) что у меня в табличке в базе появится? 3. Как пометить строки для апдейта? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2005, 18:27 |
|
||
|
Dataset из одного источника в другой - как сделать?
|
|||
|---|---|---|---|
|
#18+
SQLRоokiеНасчет проблем с информиксом - а если данные не в таблицах лежат а их ХП генерит динамически? ХП параметры передавать надо. А если запускаться должно по определенному событию? Это все решаемо, подробности в ГФ SQLRоokiеА если ДТС не знаешь? ;о) ... Впрочем раз вы решили идти своим путем - идите. PS: я бы еще понял, если бы сервера в принципе нельзя было связать по причинам безопасности, удаленности или еще каким. Или если бы данные нужно было как-то обработать или преобразовать сложным образом, но для " собственно говоря пустого копирования таблицы " изобретать свой DTS ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2005, 18:43 |
|
||
|
Dataset из одного источника в другой - как сделать?
|
|||
|---|---|---|---|
|
#18+
авторBigheadman что с тобой сегодня. Это было адресовано ни тебе :-) А что со мной? :-) Я что-то не то ответил в этом топике? Серьезно. авторЧто должно быть записано в качестве команды insComm, на основнии которой потом будет создаваться адаптер? Все равно что? Адаптер создается только на основе SelectCommand, но никак не INsertCommand. Вы можете создать "пустой" адаптер new SqlDataAdapter() и назначить ему созданную вручную InsertCommand. Какой запрос эта команда будет содержать, зависит от вашего источника данных. Кроме вас никто здесь о нем ничего не знает. авторДопустим я создал второй адаптер (sqlDA). Если я делаю sqlDA.Update(sqlDS) что у меня в табличке в базе появится? Если все правильно настроено, то появятся данные из датасета. авторКак пометить строки для апдейта? У строк должно быть RowState == DataRowState.Added. Для этого можно создать новый датасет с такой же структурой, что и исходный. ds.Clone(). И залить в новый датасет все строки вручную (в цикле). В итоге в новом датасете все строки будут Added. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2005, 18:47 |
|
||
|
Dataset из одного источника в другой - как сделать?
|
|||
|---|---|---|---|
|
#18+
2 Bigheadman ОК, спасибо. В понедельник проэкспериментирую. 2 Alexey Kudinov Мне надо по-быстрому перепнуть две таблички (точнее результат запросов) с одного сервера на другой, дописав в столбец еще по одному идентификатору. Может быть DTS использовать и правильно, но с ним надо еще разбираться. Прогу я наваяю за день, а с DTS - понятия не имею сколько придется провозиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2005, 19:04 |
|
||
|
Dataset из одного источника в другой - как сделать?
|
|||
|---|---|---|---|
|
#18+
OFF: А что со мной? :-) Я что-то не то ответил в этом топике? Серьезно. Да я не про ответ, ты принял на свой счет сообщение, которое адресовалось Alexey Kudinov :-) Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2005, 21:33 |
|
||
|
|

start [/forum/topic.php?fid=20&msg=32934409&tid=1437171]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
26ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 338ms |

| 0 / 0 |
