powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Опять про dbf-очень надо!!!
11 сообщений из 11, страница 1 из 1
Опять про dbf-очень надо!!!
    #32021319
Фотография Наталья
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как мне данные из таблицы выгрузить в dbf? Может кто объяснит саму технологию(как настроить пусть для файла, тип dbase(3,4,5) и т.п.)
я пробовала так
create proc export2dbf
@filename varchar(25)='d:\proba.dbf'
as
insert into @filename
select *
from <table>
но это значально не работает, так ошибка систаксиса 8о)) ОЧЕНЬ НАДЕЮСЬ НА ПОМОЩЬ!!!
Заранее спасибо!
...
Рейтинг: 0 / 0
Опять про dbf-очень надо!!!
    #32021322
QWERTY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Используйте DTS
...
Рейтинг: 0 / 0
Опять про dbf-очень надо!!!
    #32021326
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Создаете linked server
EXEC sp_addlinkedserver @server = 'MYDBFs', @provider = 'Microsoft.Jet.OLEDB.4.0', @srvproduct = 'OLE DB Provider for Jet', @datasrc = 'D:\BASE', @provstr = 'dBASE IV'

2.
create proc export2dbf
@dbf_table_name varchar(25)='mydfs...proba'
as
DECLARE @mysql varchar(8000)
SET @mysql = 'insert into ' + @dbf_table_name + ' select * from mytable'
exec(@mysql)

- Файл proba.dbf должен находиться в D:\BASE (параметр @datasrc из п.1) до выполнения запроса.
- IMHO лучше перечислять вставляемые поля
- А еще лучше IMHO использовать DTS, как посоветовал QWERTY
...
Рейтинг: 0 / 0
Опять про dbf-очень надо!!!
    #32021328
Фотография Наталья
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно поподробнее про linked server? Я так поняла, что должна быть уже готовая процедура
sp_addlinkedserver, а где она? или ее тоже писать самой надо?
...
Рейтинг: 0 / 0
Опять про dbf-очень надо!!!
    #32021333
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sp_addlinkedserver это
- системная процедура
- находится в базе master
- выполняется 1 раз для создания одного linked server-а

Linked server
"Microsoft® SQL Server™ allows you to create links to OLE DB data sources called linked servers. After linking to an OLE DB data source, you can:

-Reference rowsets from the OLE DB data sources as tables in Transact-SQL statements.
-Pass commands to the OLE DB data sources and include the resulting rowsets as tables in Transact-SQL statements"
Linked server - это источник данных, с которыми SQL сервер работает с помощью дополнительных драйверов. Это позволяет(с некоторыми ограничениями) обращаться с этими внешними данными как с таблицами самого SQL сервера.

В моем примере показано как добавить Linked server для .dbf файлов. После выполнения sp_addlinkedserver вы получаете доступ ко всем .dbf файлам, расположенным в директории D:\BASE, и можете использовать их в запросах. Правда создать .dbf файл из T-SQL у вас получиться.
...
Рейтинг: 0 / 0
Опять про dbf-очень надо!!!
    #32021340
Фотография Наталья
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если в моем мастере нет такой процедуры?
...
Рейтинг: 0 / 0
Опять про dbf-очень надо!!!
    #32021341
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы пробовали запускать или пробовали искать ? И какая версия SQL у вас ?
...
Рейтинг: 0 / 0
Опять про dbf-очень надо!!!
    #32021345
Фотография Наталья
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И так и так пробовала, 6.5 версия
...
Рейтинг: 0 / 0
Опять про dbf-очень надо!!!
    #32021358
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожалению про 6.5 ничего сказать не могу.
...
Рейтинг: 0 / 0
Опять про dbf-очень надо!!!
    #32021359
Фотография Наталья
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во-во, в 2000 я это нашла...а мне в 6.5 надо 8о(((((
...
Рейтинг: 0 / 0
Опять про dbf-очень надо!!!
    #32021364
Дорогая и всеми нами любимая Наташенька!

Тебе проще всего сделать следующее:
присоединить в базе Access две таблички, одну dbf, а другую (через ODBC) табличку MSSQL. А затем внутри access обычным запросом на insert перенести данные из одной в другую, работая с присоединенными табличками, как с родными эксцессовскими. Можно мастером построения запроса на insert.

MS Access - универсальный конвертор.

Если в процессе запроса возникнет недопонимание, то сделать следующее:
Табличку dbf не присоединять, а перегнать в access через визард импорта. И запрос на insert написать из родной эксцессовкой таблички в присоединенную табличку mssql. С mssql у эксцесса может возникнуть недопонимание только из-за прав или неправильных настроек ODBC.

В дальнейшем, если вдруг возникнет необходимость перегнать данные из чего-то в MSSQL6.5, долго не думая, сразу открывай эксцесс и вперед - присоединять таблички.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Опять про dbf-очень надо!!!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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