Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SQL -> BDE -> SQL, подобие временной таблицы 
:(
    Опции темы
Grig
Дата 7.6.2005, 04:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



а как SQL таблицу перекинуть во временную..
Типа локальную.
Ну, например, *.db
А потом проделав в проекте над ней определенные операции, закинуть обратно в SQL??

Ну вот например,
Код

select * into 'c:\eee.db' from spr_kart


а потом что-нибудь наподобие:
Код

insert into spr_kart select * from 'c:\eee.db'


spr_kart - SQL-Table
eee.db - временная таблица BDE

Это сообщение отредактировал(а) Grig - 7.6.2005, 04:32


--------------------
        
PM MAIL ICQ   Вверх
Vit
Дата 7.6.2005, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

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



А что select into не работает? По идее должен... Только имена файлов с путями не надо указывать...


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Grig
Дата 8.6.2005, 02:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



пробовал так:
Код

form1.ADOConnection1.Execute('select * into '+'''ss.db'''+' from spr_markob');


И так:
Код

form1.ADOConnection1.Execute('select * into ss.db from spr_markob');


Жалуется на неккоректный синтаксис.
А что самое интересное, в Accesse это работает!!
Только в созданную базу ss копирует таблицу db..


--------------------
        
PM MAIL ICQ   Вверх
ТоляМБА
Дата 8.6.2005, 04:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


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

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



2 Vit
Пожалуйста, приведи пример. smile Проблема такая тоже возникала (и в скором времени опять возникнет). Я её решил, правда через ж. Тобишь создал 2 адоконнекшн - одну к MS SQL SERV., вторую к dbase IV через Jet 4, создал две таблы и подключил одну к серваку, вторую к дбфке (пустая табла со структурой как на табле с сервака). Через цикл WHILE в Делфях перегнал. Вотъ. smile Смеяться после слова "лопата". Но это сработало, хотя это конечно далеко не выход.
PM   Вверх
Grig
Дата 8.6.2005, 05:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



ТоляМБА, я тоже пока другого реального выхода не вижу
Солидарно с тобой smile


--------------------
        
PM MAIL ICQ   Вверх
ТоляМБА
Дата 8.6.2005, 07:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


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

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



2 Grig
Ты мой пример хочешь или Vita?
PM   Вверх
Guest
Дата 8.6.2005, 07:24 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











ТоляМБА, не, как ты предлагаешь я знаю и делал...
К сожалению к моей задаче это неприменимо..
  Вверх
Vit
Дата 8.6.2005, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

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



Сделай 2 alias на SQL базу и на сой какой-нибудь каталог который будет парадоксовской (DBase) базой данных. В запросе это будет выглядеть как:

Код

Insert into :MyParadoxAlias:MyTempTable
Select * From :MySQLAlias:MyTable


Через ADO не получится... Объясню почему. BDE - чисто клиентская технология, т.е. данные по любому вытягиваются на клиента и клиент их сохраняет. ADO - клиент-сервер (точнее почти чистый сервер) поэтому запросы вида

Код

insert into spr_kart select * from 'c:\eee.db'


если и приведут к работе с таблицами, то НА СЕРВЕРЕ! Т.е. 'c:\eee.db' будет относится к тому компу на котором стоит SQL Server а не твоё приложение... Там в ADO есть синтаксис как это сделать, но локальная база данных должна быть видна с сервера, что в принципе неправильно, во вторых должны быть разрешения и уровни доступа чтоб NT разрешила SQL Server работать с данным файлом в данном месте.

А собственно зачем этот геморрой нужен? Чем временные таблицы на сервере не устраивают? Зачем на клиент тянуть данные?



--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Grig
Дата 9.6.2005, 05:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Vit @ 8.6.2005, 15:39)
А собственно зачем этот геморрой нужен? Чем временные таблицы на сервере не устраивают? Зачем на клиент тянуть данные?

К сожалению не устраивают...
Этот проект будет использоватся на нескольких клиентских местах и на одних будет использоватся SQL-Server, на других Access - по выбору.
Поэтому я и нагружаю клиентское приложение, чтобы было меньше переписывать и вообще сделать проект более универсальным.
C BDE честно говоря крайне мало работал, но попробую сделать, как ты сказал.
А вообще я начал уже делать так: создал второй adoconnection и через него все пихаю временные таблицы в какую-то отвлеченную БД.
Вот такой геммороище!!!


--------------------
        
PM MAIL ICQ   Вверх
Vit
Дата 9.6.2005, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

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



Цитата(Grig @ 8.6.2005, 20:56)
К сожалению не устраивают...
Этот проект будет использоватся на нескольких клиентских местах и на одних будет использоватся SQL-Server, на других Access - по выбору.



Ну дык и делай временные таблицы прямо в Access если основная база в Access или в MS SQL Server если используешь MS SQL Server... Не понял траблов... Запрос Create Table он же стандартный...


Цитата(Grig @ 8.6.2005, 20:56)
BDE честно говоря крайне мало работал, но попробую сделать, как ты сказал.



Не стоит, он плохо работает с серверными базами данных... По любому такие запросы вытягивают все данные на клиента


Цитата(Grig @ 8.6.2005, 20:56)
А вообще я начал уже делать так: создал второй adoconnection и через него все пихаю временные таблицы в какую-то отвлеченную БД.


То же вариант... но плохой. Поверь моему опыту, делай временные таблицы в той же базе данных где ты работаешь... Так ты избавишься от огромного сетевого трафика


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
ТоляМБА
Дата 10.6.2005, 04:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


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

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



Vit, по этой-же теме у меня другая проблема, то есть суть та же, но таблицы в dBase нужны для другого: один раз в месяц с сервака должны делаться выгрузки некоторых таблиц, с ними производиться расчеты и конечный резулльтат выдаваться в одной таблице. Причем расчеты будут производиться на машине, у кторой нет доступа к серваку (экономисты с другим серваком работают). В принципе раз в месяц выгрузки с сервака можно делать и через Export, просто мне хотелось полностью автоматизировать процесс (чтобы юзер не лазил на сервак а прога сама делала Export).
Как ты написал:
Цитата
Код

Insert into :MyParadoxAlias:MyTempTable
Select * From :MySQLAlias:MyTable

у меня не получилось.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

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

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


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


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

FAQ раздела лежит здесь!


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

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


 




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


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

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