powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как правильно писать INSERT и DELETE
4 сообщений из 4, страница 1 из 1
Как правильно писать INSERT и DELETE
    #36687219
Моя проблема в том, что я не знаком с FoxPro, а SQL в части INSERT и DELETE там как я понял отличается от привычного мне TRANSACT SQL.

Мне бы образцы правильных запросов на выполнение и удаление

У меня база в MS SQL server
Мне нужно создать пустой dbf -файл и записать в него данные. Или удалить данные из готового файла и вставить новые. Я прочитал здешнюю статью про работу с DBF формата FoxPro и Clipper(CDX) и сделал так:
Код: plaintext
1.
2.
3.
4.
5.
EXEC sp_addlinkedserver 
@server = 'FOX_ODBC1', 
@provider = 'MSDASQL', 
@srvproduct = '',
@provstr = 'Driver={Microsoft Visual FoxPro Driver}; 
UID=;SourceDB=d:\446093.dbf;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Russian;Null=No;Deleted=No'
Если попытаться выполнить SELECT из той таблицы

Код: plaintext
SELECT * FROM OPENQUERY(FOX_ODBC1, 'Select * from d:\446093.dbf')

Работает.

Но, когда я пытаюсь удалить данные из этого файла.

Код: plaintext
DELETE FROM OPENQUERY( FOX_ODBC1, 'Select * from d:\446093.dbf')
или
Код: plaintext
1.
2.
3.
INSERT INTO OPENQUERY( FOX_ODBC1, 'Select * from d:\446093.dbf')
SELECT MaterialCode, Qty, Mass
FROM dbo.funAssemblyNormaPartsPurchased( 82 ) AS funAssemblyNormaPartsPurchased_1
WHERE (oberType =  1 )

Мне пишут следующее:

авторOLE DB provider "MSDASQL" for linked server "FOX_ODBC1" returned message "Не удается обновить запрос, поскольку предложение From не является именем таблицы.".

а если так
Код: plaintext
EXECUTE ('INSERT INTO  d:\446093.dbf values (0,0,0) AT FOX_ODBC4 ')

или
Код: plaintext
EXECUTE ('DELETE from d:\446093.dbf  AT FOX_ODBC4 ')

выдаёт
авторIncorrect syntax near 'd'.


Явно я что-то не так пишу в синтаксисе ...
...
Рейтинг: 0 / 0
Как правильно писать INSERT и DELETE
    #36687242
Головин ЕгорЯвно я что-то не так пишу в синтаксисе ...Вы явно не того провайдера используете. Который на такие изыски не рассчитан. Возьмите родной фоксовый VFP OLEDB Provider.
...
Рейтинг: 0 / 0
Как правильно писать INSERT и DELETE
    #36687247
Разобрался!

Просто я перегрелся на солце и запутался в скобках и кавычках.

Извиняюсь ....
...
Рейтинг: 0 / 0
Как правильно писать INSERT и DELETE
    #36687414
Eugenkru10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Головин Егор,

А не проще ли наоборот - из фокса в MS SQL писать?
Вообще пара пустяков!
Привет Йошкар-Оле
http://mike-yola.ru/map.html
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как правильно писать INSERT и DELETE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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