Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вставка из таб-цы одной базы в таб-цу другой базы, Обработка запросами переноса данных 
V
    Опции темы
NightElf
Дата 19.7.2010, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 12.2.2006
Где: Украина, Луганска я обл.

Репутация: нет
Всего: нет



Здравствуйте.
Народ, подскажите, есть ли возможность в Builder(е) переноса содержимого таблиц разных баз данных с использованием запроса или же только перенос из DataSet(а) в DataSet по циклу каждую запись? 
 smile 
PM MAIL ICQ   Вверх
mrbrooks
Дата 19.7.2010, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



Цитата(NightElf @  19.7.2010,  17:13 Найти цитируемый пост)
Народ, подскажите, есть ли возможность в Builder(е) переноса содержимого таблиц разных баз данных с использованием запроса

очень сильно сомневаюсь, если конечно речь не об связке ms sql server и access.


Цитата(NightElf @  19.7.2010,  17:13 Найти цитируемый пост)
же только перенос из DataSet(а) в DataSet по циклу каждую запись? 

не кошерный вариант. смотри в сторону импорта/экспорта. 
PM MAIL   Вверх
NightElf
Дата 19.7.2010, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 12.2.2006
Где: Украина, Луганска я обл.

Репутация: нет
Всего: нет



Цитата

не кошерный вариант. смотри в сторону импорта/экспорта. 


У меня проблема в скорости. 
Цитата

смотри в сторону импорта/экспорта


Можно пример или средство. smile 
PM MAIL ICQ   Вверх
_Dimon_
Дата 19.7.2010, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 25.6.2007
Где: Украина

Репутация: 1
Всего: 1



mrbrooks написал о ms sql server и access.....

А все-таки о каких БД идет речь? 
PM MAIL   Вверх
NightElf
Дата 20.7.2010, 07:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 12.2.2006
Где: Украина, Луганска я обл.

Репутация: нет
Всего: нет



В качестве основной базы использую Access, подключаюсь к ней через ADO. То от куда необходимо перебрасывать данные (файлы dbf, txt с разделителями (в натуре, это прайс листы, они периодически меняются)) к ним тоже подключаюсь через ADO.

Это сообщение отредактировал(а) NightElf - 20.7.2010, 07:30
PM MAIL ICQ   Вверх
mrbrooks
Дата 20.7.2010, 07:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



ms access 2003
Файл -> Внешние данные -> Импорт
PM MAIL   Вверх
NightElf
Дата 20.7.2010, 08:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 12.2.2006
Где: Украина, Луганска я обл.

Репутация: нет
Всего: нет



Нет, такое не подходит. smile 
У клиента нет Access(a) да и что это за софт будет для работы которого нужно предварительно Access(ом) воспользоваться (чтоб прайс листы загрузить). Меня интересуют методы именно средствами Builder(а) но чтоб не долго. Интересно как это реализовано в самом Access(е). Там это всё происходить в считанные секунды. 
PM MAIL ICQ   Вверх
mrbrooks
Дата 20.7.2010, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



Цитата(NightElf @  20.7.2010,  09:18 Найти цитируемый пост)
У клиента нет Access(a) да и что это за софт будет для работы которого нужно предварительно Access(ом) воспользоваться (чтоб прайс листы загрузить).

С этого и надо было начинать. Очень мило - когда подробности всплывают в ходе диспута.

Цитата(NightElf @  20.7.2010,  09:18 Найти цитируемый пост)
Меня интересуют методы именно средствами Builder(а) но чтоб не долго.

У самого Билдера средств таких нет.

Цитата(NightElf @  20.7.2010,  09:18 Найти цитируемый пост)
Там это всё происходить в считанные секунды. 


смотри в сторону
Цитата

 SELECT поле1[, поле2[, ...]] INTO новая_таблица [IN внешняя_база_данных]
FROM источник
. 
Там есть возможность подключения и загрузки внешней БД (в т.ч. и текстового файла).
PM MAIL   Вверх
NightElf
Дата 20.7.2010, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 12.2.2006
Где: Украина, Луганска я обл.

Репутация: нет
Всего: нет



Использую Access 2007. 
При выполнении запроса типа 
Код

SELECT A, B, C, D, E INTO table_price IN 'C:\Documents and Settings\Admin\Рабочий стол\!!!\price.dbf';

в самом Access Вылетает сообщение "Не распознаваемый формат базы данных C:\Documents and Settings\Admin\Рабочий стол\!!!\price.dbf" аналогичное сообщение и при использовании текстового файла. Проходит такой фокус только если подсовываю базу Access :( .
Пробовал создавать связанную таблицу с использованием мастера Access. Связь работает без загрузки в Access, но есть большая проблема. В случае перемещения таблицы dbf или текстового файла (или изменения имени) вылетает ошибка с сообщением отстутствия исходной таблицы. Т.е. В случае если софт написанный мной установить в другое место связь работать не будет. Или попробовать в корне диска C: проводить привязку с переименованием исходного файла. Но это извращение высшей степени  smile .

Интересно, где в базе хранится эта связь и можно ли её перестраивать хотябы через API?
PM MAIL ICQ   Вверх
mrbrooks
Дата 20.7.2010, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



NightElf, ок.
Допустим у нас есть текстовый файл - fuck.txt. Лежит он у нас в корне С:\
примерно такого содержания
Цитата

"ФиелдФйДи","ФиелдВалуе"
1;"Оне"
2;"Тво"
3;"Тхрее"


вот так будет выглядеть простая выборка.
Код

SELECT * FROM [Text;HRD=No;database=C:\].[fuck.txt];


собственно сам импорт в таблицу Fuck
Код

SELECT * INTO Fuck FROM [Text;HRD=No;database=C:\].[fuck.txt];


гуд лак!

Добавлено через 7 минут и 37 секунд
да. с dbf работа по идее аналогична, только атрибуты другие - вместо Text - надо использовать версию dBаse, игнорировать HRD и расширение.
PM MAIL   Вверх
NightElf
Дата 21.7.2010, 08:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 12.2.2006
Где: Украина, Луганска я обл.

Репутация: нет
Всего: нет



Получается, спасибо.
Но делит на поля не так как бы хотелось.
Нарезает по запятым, а у меня используются либо точка с запятой либо таб.
PM MAIL ICQ   Вверх
mrbrooks
Дата 21.7.2010, 08:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



По логике вещей - в атрибутах можно указать разделитель:
Format=Delimited(,) - по умолчанию у тебя
Format=Delimited(;)
Format=TabDelimited

использовать примерно так:
Код

SELECT * FROM [Text;HRD=No;Format=Delimited(;);database=C:\].[fuck.txt];


PM MAIL   Вверх
NightElf
Дата 21.7.2010, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 12.2.2006
Где: Украина, Луганска я обл.

Репутация: нет
Всего: нет



Спасибо за идею, но пришлось использовать файл спецификации.
Покопал вот здесь http://computerplus.com.ua/Krivtsov.htm

Всем спасибо вопрос закрыт.
PM MAIL ICQ   Вверх
mrbrooks
Дата 21.7.2010, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



Цитата(NightElf @  21.7.2010,  15:48 Найти цитируемый пост)
Спасибо за идею, но пришлось использовать файл спецификации

дык это тоже самое. правда - файл спецификации все таки более надежный и более гибкий инструмент.
PM MAIL   Вверх
NightElf
Дата 22.7.2010, 08:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 12.2.2006
Где: Украина, Луганска я обл.

Репутация: нет
Всего: нет



Как оказалось вопрос ещё не решился. smile 
Опробовал всё на запросах в самом Access создалось впечатление что всё работает.
Но вот перенёс запрос в Builder и пытаюсь выполнить через ADOCommand.
В результате выдаёт сообщение при выполнении "Неправильно определен объект Parameter. Предствленны не совместимые или не полные сведения." И правда в параметрах ADOCommand вылез параметр с именем "\].[fuck1.txt]". Копроче говоря кусок окончения запроса.
Код

SELECT * INTO Fuck FROM [Text;DSN=fuck1.txt;FMT=Delimited;HRD=No;DATABASE=C:\].[fuck1.txt]

Может в ADOCommand чтото подкрутить нужно чтобы заработало нормально. Или может запрос как то перестроить, но воспримит ли его потом база Access после изменения?
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.2000 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.