|
Таблица из FoxPro 6 в ASE 12.5. PB 9.0.3
|
|||
---|---|---|---|
#18+
Всем привет! Имею 2 odbc источника: 1) фоксовская база 2) ase-шная база В ПБ Имею два коннекта по этим двум источникам. Необходимо взять из фокса таблицу Tab1 и все ее данные и создать точную копию этой таблицы в ASE. Подскажите плиз как такое сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2011, 14:17 |
|
Таблица из FoxPro 6 в ASE 12.5. PB 9.0.3
|
|||
---|---|---|---|
#18+
т.е. достаточно было бы выполнить такое Код: plaintext
но как это правильно сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2011, 14:30 |
|
Таблица из FoxPro 6 в ASE 12.5. PB 9.0.3
|
|||
---|---|---|---|
#18+
Можно через два Datawindow или Datastore с помощью RowsCopy(...) или PipeLine. Первый вариант мне больше нравится (ИМХО) . ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2011, 15:28 |
|
Таблица из FoxPro 6 в ASE 12.5. PB 9.0.3
|
|||
---|---|---|---|
#18+
если честно, то даже не представляю как это сделать с помощью Datawindow или Datastore. почитал про Datastore, но ничего не понял. если можно пример с описанием ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2011, 15:35 |
|
Таблица из FoxPro 6 в ASE 12.5. PB 9.0.3
|
|||
---|---|---|---|
#18+
я бы через pipeline перегнал File -> New -> Data Pipeline если чо) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2011, 15:37 |
|
Таблица из FoxPro 6 в ASE 12.5. PB 9.0.3
|
|||
---|---|---|---|
#18+
Pipeline не совсем подходит, выборка полей, а я хочу закрутить так чтоб брать s elect * from (очередная таблица из массива) из фокса и так же само вставлять в sybase ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2011, 16:28 |
|
Таблица из FoxPro 6 в ASE 12.5. PB 9.0.3
|
|||
---|---|---|---|
#18+
т.е. полностью автоматом, без самостоятельного выбора таблиц и полей. как в моем втором посте. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2011, 16:30 |
|
Таблица из FoxPro 6 в ASE 12.5. PB 9.0.3
|
|||
---|---|---|---|
#18+
идеально конечно было бы делать это все таким образом: Код: plaintext
Код: plaintext
но так на сколько я знаю ничего не получится.... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2011, 16:52 |
|
Таблица из FoxPro 6 в ASE 12.5. PB 9.0.3
|
|||
---|---|---|---|
#18+
Imperousт.е. полностью автоматом, без самостоятельного выбора таблиц и полей. как в моем втором посте.вам один раз это сделать или много? если один раз, то выберите все поля) если много, то смотрите на datawindow/datastore к слову во втором посте никаким не автоматом выбрана таблица tab1 иле вы вовсе хотите целую кучу таблиц оттуда натягать? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2011, 16:57 |
|
Таблица из FoxPro 6 в ASE 12.5. PB 9.0.3
|
|||
---|---|---|---|
#18+
maniac85Imperousт.е. полностью автоматом, без самостоятельного выбора таблиц и полей. как в моем втором посте.вам один раз это сделать или много? если один раз, то выберите все поля) если много, то смотрите на datawindow/datastore к слову во втором посте никаким не автоматом выбрана таблица tab1 иле вы вовсе хотите целую кучу таблиц оттуда натягать? то был пример на одной, но надо куча таблиц ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2011, 17:19 |
|
Таблица из FoxPro 6 в ASE 12.5. PB 9.0.3
|
|||
---|---|---|---|
#18+
если не трудной, дайте пример как это сделать. как загнать в датавиндоу я знаю, но вот как оттуда в нужную БД... фиг знает... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2011, 17:21 |
|
Таблица из FoxPro 6 в ASE 12.5. PB 9.0.3
|
|||
---|---|---|---|
#18+
Ну я бы делал так ... Это для одной пары таблиц. Для других таблиц этот подвиг надо повторить для каждой в отдельности. t_ase - таблица ASE t_fox - таблица Fox-a c_ase - connection object для ASE c_fox - con. j,ject для FOX-a для t_ase создаем dw_ase для t_fox создаем dw_fox И далее ... datastore ds_fox, ds_ase ds_fox = create ds_fox ds_fox.dataobject = 'dw_fox' ds_fox.settransobject(c_fox) ds_ase = create ds_ase ds_ase.dataobject = 'dw_ase' ds_ase.settransobject(c_ase) ds_fox.retrieve() // получаем данные из ФОКСа ds_fox.rowscopy( 1, ds_fox.rowcount(), primary!, ds_ase, 1, primary!) // копируем их в ASE ds_ase.update() // записываем в таблицу ASE !!! Обязательное условие этого метода !!! Порядок следования полей и их типы в обеих DW должны быть одинаковые, иначе rowscopy(...) не сработает. Если это не так (что есть наверняка :)), то необходимо вместо rowscopy(...) использовать цикл по ds_fox и вставлять строки в ds_ase с последующим заполнением их вручную. Тут-же можно делать некоторые преобразования, если в них есть необходимость. Приведенный пример очень схематичный и только показывает сам принцип, а обработка ошибок и прочее за Вами. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2011, 15:24 |
|
Таблица из FoxPro 6 в ASE 12.5. PB 9.0.3
|
|||
---|---|---|---|
#18+
PaulJBНу я бы делал так ... Это для одной пары таблиц. Для других таблиц этот подвиг надо повторить для каждой в отдельности. t_ase - таблица ASE t_fox - таблица Fox-a c_ase - connection object для ASE c_fox - con. j,ject для FOX-a для t_ase создаем dw_ase для t_fox создаем dw_fox И далее ... datastore ds_fox, ds_ase ds_fox = create ds_fox ds_fox.dataobject = 'dw_fox' ds_fox.settransobject(c_fox) ds_ase = create ds_ase ds_ase.dataobject = 'dw_ase' ds_ase.settransobject(c_ase) ds_fox.retrieve() // получаем данные из ФОКСа ds_fox.rowscopy( 1, ds_fox.rowcount(), primary!, ds_ase, 1, primary!) // копируем их в ASE ds_ase.update() // записываем в таблицу ASE !!! Обязательное условие этого метода !!! Порядок следования полей и их типы в обеих DW должны быть одинаковые, иначе rowscopy(...) не сработает. Если это не так (что есть наверняка :)), то необходимо вместо rowscopy(...) использовать цикл по ds_fox и вставлять строки в ds_ase с последующим заполнением их вручную. Тут-же можно делать некоторые преобразования, если в них есть необходимость. Приведенный пример очень схематичный и только показывает сам принцип, а обработка ошибок и прочее за Вами.тока t_ase надо еще создать заранее, а топикстартер хочет чтоб оно само, насколько я понял ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2011, 09:56 |
|
Таблица из FoxPro 6 в ASE 12.5. PB 9.0.3
|
|||
---|---|---|---|
#18+
Монтирует базу в ase через ODBC и вперед:) А так 2 описанных варианта - pipeline и dw, ну и вариации на тему Допустим dw напрямую парсящее dbf или какой-нибудь импорт данных или создание таблицы на лету через синтаксис и динамически созданная dw...... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2011, 15:49 |
|
Таблица из FoxPro 6 в ASE 12.5. PB 9.0.3
|
|||
---|---|---|---|
#18+
spas2001 Монтирует базу в ase через ODBC и вперед:) А так 2 описанных варианта - pipeline и dw, ну и вариации на тему Допустим dw напрямую парсящее dbf или какой-нибудь импорт данных или создание таблицы на лету через синтаксис и динамически созданная dw...... вот это надо попробовать! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2011, 19:34 |
|
Таблица из FoxPro 6 в ASE 12.5. PB 9.0.3
|
|||
---|---|---|---|
#18+
но как??? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2011, 19:36 |
|
Таблица из FoxPro 6 в ASE 12.5. PB 9.0.3
|
|||
---|---|---|---|
#18+
spas2001Монтирует базу в ase через ODBC и вперед:) А так 2 описанных варианта - pipeline и dw, ну и вариации на тему Допустим dw напрямую парсящее dbf или какой-нибудь импорт данных или создание таблицы на лету через синтаксис и динамически созданная dw...... 1. Вариант "pipeline" помоему ни практически, ни теоритически не проходит. 2. Вариант с DW - это единственное правильное решение. 3. А по поводу 100% совпадения таблиц, то если они не совпадают в принципе, то даже "ручками" ничего не получется. Но если столбцы совпадают по типу и количеству, но по очередности - нет, то скриптом это решаемо. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2011, 22:25 |
|
Таблица из FoxPro 6 в ASE 12.5. PB 9.0.3
|
|||
---|---|---|---|
#18+
AIS, 1. Запрос вида Код: plaintext
2.Вариант с pipeline работает если предварительно создать необходимую таблицу или включить опцию "Create-Add table". Когда-то реализовывал что-то подобное. 3. Насчет совпадения таблиц вопрос не стоял, из запроса следует, что таблица должна создаться соответствующая 4. Насчет монтирования базы - проще обратиться на форум ASE ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2011, 18:42 |
|
Таблица из FoxPro 6 в ASE 12.5. PB 9.0.3
|
|||
---|---|---|---|
#18+
Вообще можно применить следующий алгоритм Код: plaintext 1. 2. 3. 4. 5.
ЗЫ: Это только вариант навскидку, просьба не принимать его как истину в последней инстанции ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2011, 18:56 |
|
|
start [/forum/topic.php?fid=15&msg=37050990&tid=1335801]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 166ms |
0 / 0 |