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

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

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

Да я бы с радостью, да не получается.
Попробовал с SAFETY, но это же против возникновения предупреждений.
Структуру, меняю типа
ALTER TABLE tmSales ADD COLUMN DistrictID INTEGER NULL
...
Рейтинг: 0 / 0
Удалить файл из хранимой процедуры
    #32295632
Фотография Hel!Riser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ч:е хоть за ошибка!? мож он фил проста не находит.. RTFM on FILES()
...
Рейтинг: 0 / 0
Удалить файл из хранимой процедуры
    #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
Удалить файл из хранимой процедуры
    #32295711
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2pako

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

Unsupported Visual FoxPro Commands and Functions in OLE DB Provider

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

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

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

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

Может Name Expression? Код можно показать?
...
Рейтинг: 0 / 0
Удалить файл из хранимой процедуры
    #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
Удалить файл из хранимой процедуры
    #32295761
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор писал:Вызываю процедуру из Delphi через ADOCommand - VFPOLEDB.
Можно еще так
oVFP=CreateObject("VFP.Application")
oVFP.DoCmd('proc1')
...
Рейтинг: 0 / 0
Удалить файл из хранимой процедуры
    #32295977
Фотография 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
Удалить файл из хранимой процедуры
    #32296802
pako
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>NNN
Запросы я посмотрю, когда освобожусь.
Результат напишу тут же.
Спасибо.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Удалить файл из хранимой процедуры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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