Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Удалить файл из хранимой процедуры / 12 сообщений из 12, страница 1 из 1
16.10.2003, 15:50
    #32295546
pako
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить файл из хранимой процедуры
Здравствуйте все.

Господа проблема такая. Вроде простая, но что-то торможу.
Вызываю из Delphi хранимую процедуру, которая лежит в в foxpro-шной dbc.
Эта хранимая процедура изменяет структуры нескольких таблиц в базе. Нужно именно хранимой процей. Соответственно появляются файлы например tbSales.bak, я хочу удалить эти файлы.

Пишу в проце
DELETE FILE tbSales.bak
или
ERASE FILE tbSales.bak
получаю ошибку.
ЕСЛИ то же самое запускаю из VFoxPro, то все срабатывает.
Как удалить файлы?
...
Рейтинг: 0 / 0
16.10.2003, 16:07
    #32295590
Crip
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить файл из хранимой процедуры
А вы их не создавайте...
SET SAFETY OFF
...
Рейтинг: 0 / 0
16.10.2003, 16:25
    #32295630
pako
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить файл из хранимой процедуры
>Crip

Да я бы с радостью, да не получается.
Попробовал с SAFETY, но это же против возникновения предупреждений.
Структуру, меняю типа
ALTER TABLE tmSales ADD COLUMN DistrictID INTEGER NULL
...
Рейтинг: 0 / 0
16.10.2003, 16:28
    #32295632
Hel!Riser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить файл из хранимой процедуры
ч:е хоть за ошибка!? мож он фил проста не находит.. RTFM on FILES()
...
Рейтинг: 0 / 0
16.10.2003, 16:44
    #32295655
pako
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить файл из хранимой процедуры
Вот процедура.
За написание извините, давно не писал на фоксе.
Ошибка в данном случае 'Feature is not available'
Вызываю процедуру из Delphi через ADOCommand - VFPOLEDB.
Такая же ошибка была, когда вызывал процедуру с макроподстановкой.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
PROCEDURE proc1
	
	CLOSE TABLES

	USE tbSales IN  0  ALIAS tbSales EXCLUSIVE
	
	SELECT tbSales
	ncount1=AFIELDS( mass1 )
	fl1= 0 
	FOR i= 1  TO ncount1
		IF TRIM(UPPER( mass1(i, 1 )))='DISTRICTID' THEN
			fl1= 1 
		ENDIF
	ENDFOR
	
	IF fl1= 0  THEN 
		ALTER TABLE tbSales ADD COLUMN DistrictID INTEGER NULL
	endif

	SELECT tbSales
	USE

	USE tmSales IN  0  ALIAS tmSales EXCLUSIVE


	
	SELECT tmSales
	ncount2=AFIELDS( mass2 )
	fl2= 0 
	FOR i= 1  TO ncount2 
		IF TRIM(UPPER( mass2(i, 1 )))='DISTRICTID' THEN
			fl2= 1 
		ENDIF
	ENDFOR

	IF fl2= 0  THEN 
		ALTER TABLE tmSales ADD COLUMN DistrictID INTEGER NULL
	ENDIF
	
	SELECT tmSales
	USE
	
	CLOSE TABLES ALL 
	
	ERASE 'D:\ffff\DataEmpt\*.bak'
	
	RETURN .T.
	
ENDPROC
...
Рейтинг: 0 / 0
16.10.2003, 17:13
    #32295711
NNN
NNN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить файл из хранимой процедуры
2pako

> Вызываю процедуру из Delphi через ADOCommand - VFPOLEDB.

Unsupported Visual FoxPro Commands and Functions in OLE DB Provider

Про макроподстановку не понял.
...
Рейтинг: 0 / 0
16.10.2003, 17:24
    #32295727
pako
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить файл из хранимой процедуры
>NNN
Спасибо.
Правда не сказать что обрадовал, файл-то все равно надо удалить.
Насчет макроподстановки, там для некоторой конструкции insert-select с параметрами не проходила.
Вопрос остался.
...
Рейтинг: 0 / 0
16.10.2003, 17:29
    #32295737
NNN
NNN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить файл из хранимой процедуры
2pako

> Правда не сказать что обрадовал, файл-то все равно надо удалить.

Дык, а самими дельфями?

> Насчет макроподстановки, там для некоторой конструкции insert-select с параметрами не проходила.

Может Name Expression? Код можно показать?
...
Рейтинг: 0 / 0
16.10.2003, 17:42
    #32295760
pako
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить файл из хранимой процедуры
>NNN
Понятно что дельфями можно, но прога уже везде работает, а тут, как обычно, потребовалось изменить структуру. При обмене данными у меня сначала выкачиваются, если нужно, файлы dbc/dct/dcx и из них запускается процедура подготовки. В нее я и хотел запихать alter table. Вот все работает, только файл надо удалить. Что бы в делфях, то надо всем exe пересылать. Неохота из-за этого.

Насчет макроподстановки, там действительно в параметры я хотел закидать имена таблиц, поля и т.д. Запросы били такого типа, правда сейчас жестко имена и поля.
Код: plaintext
1.
2.
3.
4.
5.
INSERT INTO tmContact SELECT * FROM tbContact WHERE tbContact.cntDateU >
 (SELECT tbObmen.obmDate FROM tbObmen WHERE UPPER(tbObmen.obmName)=='TBCONTACT')

DELETE FROM tbContact WHERE EmployeeID NOT IN 
(SELECT acsObject FROM tbAccess WHERE EmployeeID=ownemp AND acsType= 1 )
...
Рейтинг: 0 / 0
16.10.2003, 17:44
    #32295761
Crip
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить файл из хранимой процедуры
автор писал:Вызываю процедуру из Delphi через ADOCommand - VFPOLEDB.
Можно еще так
oVFP=CreateObject("VFP.Application")
oVFP.DoCmd('proc1')
...
Рейтинг: 0 / 0
16.10.2003, 22:25
    #32295977
NNN
NNN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить файл из хранимой процедуры
2pako

> Что бы в делфях, то надо всем exe пересылать. Неохота из-за этого.

Печаль твоя понятна, но похоже, что ничего подходящего в списке поддерживаемых команд и функций нет. Может просто в батник 'del *.bak' и не мучаться?

Насчет макроподстановки.. Вот так разве не прокатит?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
x1='tmContact'
x2='tbContact'
x3='cntDateU'
x4='tbObmen'
x5='obmDate'
x6='obmName'
INSERT INTO (x1) SELECT * FROM (x2) WHERE &x2..&x3 >
 (SELECT &x4..&x5 FROM (x4) WHERE  UPPER(&x4..&x6)=='TBCONTACT')
x1='tbContact'
x2='EmployeeID'
x3='acsObject'
x4='tbAccess'
DELETE FROM (x1) WHERE &x2 NOT IN 
(SELECT &x3 FROM (x4) WHERE &x2=ownemp AND acsType= 1 )
...
Рейтинг: 0 / 0
17.10.2003, 15:13
    #32296802
pako
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить файл из хранимой процедуры
>NNN
Запросы я посмотрю, когда освобожусь.
Результат напишу тут же.
Спасибо.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Удалить файл из хранимой процедуры / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]