powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / импорт базы данных в офрмате ASCII
35 сообщений из 35, показаны все 2 страниц
импорт базы данных в офрмате ASCII
    #34385741
Ионас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может кто подскажет. Импортируется, но с нарушением целостности данных.
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34385767
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что хоть делаешь-то? Какими командами?
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34388702
Ионас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМЧто хоть делаешь-то? Какими командами?
Пока никакими. Есть файлы в формате ASCII. Нужно все это разместить в SQL Server 2000 или хотя бы в Visual FoxPro. Обычный импорт файла пр иводит к тому что получаю считанной не всю информацию, многое теряется.
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34388733
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что понимается под словами "обычный импорт"? Для кого "обычный"? Импорт куда? В SQL сервер? В фокс? Делалось это чисто мысленно или все таки набирались какие-то команды, запускались какие-то программы? Какие? В каком порядке? Есть полная и абсолютная уверенность в правильности своих действий? Что теряется? Чем оно отличается от того, что не теряется? Мы это все сами должны телепатически выяснить или нуждающийся в ответе пошевелит немного пальчиками? Или религия не позволяет?
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34388777
Ионас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начнем с того, что есть файл в формате ASCII с расширением wgs.
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34388845
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИонасНачнем с того, что есть файл в формате ASCII с расширением wgs.
Ну и...?

Для FoxPro сугубо "фиолетово" какое расширение имеет файл. Для него принципиально важно какими командами ты этот файл обрабатываешь.

Что вообще подразумевается под термином "импорт в FoxPro"? Что в результате должно получится из исходного файла?
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34388893
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПТ... :-(
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34389042
Ионас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RedrikПТ... :-(
Для тебя это возможно и ПТ. Для меня нет.
FoxPro просто читает. Согласен. Значит надо потом сохранить с расширением dbf. Но потом при прочтение FoxPro сообщает, что таблицы для открытия нет.
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34389111
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не о конкретном случае! Я о причинно-следственных вещах...
Пока что твои объяснения проблемы 1 в 1 соответствуют старому анекдоту:
- Доктор! У меня что-то болит!!!
- Не волнуйтесь, больной! Сейчас я выпишу вам какие-то таблетки!
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34389748
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ионас RedrikПТ... :-(
Для тебя это возможно и ПТ. Для меня нет.
FoxPro просто читает. Согласен. Значит надо потом сохранить с расширением dbf. Но потом при прочтение FoxPro сообщает, что таблицы для открытия нет.
Вы вообще-то в курсе, что файл DBF имеет некую структуру? Поля там, записи...

Обычный текстовый файл (ASCII) этой структуры не имеет. Точнее, формально не имеет. Можно "договорится", что каждую строку файла будем считать "записью", а "полями" будем считать определенные последовательности символов в каждой строке.

Так вот, чтобы сделать корректный перенос содержимого ASCII-файла в DBF нужно знать те самые правила, по которым будем разносить информацию из текста в поля и записи файла DBF.

Некоторые типы файлов уже имеют такие правила. И в этом случае возможен автоматический перенос информации в файлы DBF. Некоторые типы - не имеют. В этом случае необходимо как-то явно указать, по каким правилам будем переносить.

Известные типы файлов можешь посмотреть в описании к команде APPEND FROM или IMPORT FROM, но типа файла "WGS" там нет.

Если при импорте ты указал тип файла "от фонаря", то "от фонаря" и получил результат. Скорее всего - ничего не получил или получил "мусор".
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34391710
Ионас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМ Скорее всего - ничего не получил или получил "мусор".
Как из массивов сбросить в dbf я раньше делал. А вот как ASCII поместить в массив. Вообще-то мне нужно иметь указатель на начало ASCII-файла и тогда что-либо программно возможно сделать.
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34392171
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разговор слепого с глухим...
Или как в анекдоте: ну ты хоть лотерейный билет-то купи...
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34392592
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давайте так, положите во вложение пример ASCII файла, который надо импортировать и файл DBF, который должен получится в результате импорта из этого файла (заполненный).

Оригинальные данные в ASCII файле не обязательны. Вполне достаточно тестовых данных для наполнения 2...3 строк файла DBF.
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34397249
Ионас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМ Вполне достаточно тестовых данных для наполнения 2...3 строк файла DBF.
Что-нибудь слышали про ERWin ? Говорят в нем много конвертеров.
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34397474
w3d
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ионас ВладимирМ Вполне достаточно тестовых данных для наполнения 2...3 строк файла DBF.
Что-нибудь слышали про ERWin ? Говорят в нем много конвертеров.
Нда.... тяжелый случай.
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34398043
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Классика!
http://forum.kaspersky.com/index.php?showtopic=3521
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34398083
Ионас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RedrikКлассика! http://forum.kaspersky.com/index.php?showtopic=3521
А при чем здесь Касперский ?
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34540878
Ионас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМДавайте так, положите во вложение пример ASCII файла, который надо импортировать и файл DBF, который должен получится в результате импорта из этого файла (заполненный).

Оригинальные данные в ASCII файле не обязательны. Вполне достаточно тестовых данных для наполнения 2...3 строк файла DBF.
Забыл как на этом форуме сделать вложение. Еслит не трудно, напомни плииз.
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34540882
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИонасЗабыл как на этом форуме сделать вложение. Еслит не трудно, напомни плииз.
Когда пишете ответ на вопрос, то ниже, под окном для ввода ответа есть кнопка "Обзор". Жмете на нее и указываете нужный файл. Размер не более 100Кб
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34540894
Ионас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМ ИонасЗабыл как на этом форуме сделать вложение. Еслит не трудно, напомни плииз.
Когда пишете ответ на вопрос, то ниже, под окном для ввода ответа есть кнопка "Обзор". Жмете на нее и указываете нужный файл. Размер не более 100Кб
Пробую
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34540896
Ионас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще раз
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34541060
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А Экселем чего бы не воспользоваться?
________
Не дадим распространиться заразе политкорректности!
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34542578
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы привели только первую половину вопроса. Но чтобы сказать, как именно этот файл надо импортировать в DBF необходимо знать структуру того DBF в который Вы хотите перенести информацию. Что из этого текстового файла надо взять, куда положить в DBF?
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34543881
Ионас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UrriА Экселем чего бы не воспользоваться?
________
Не дадим распространиться заразе политкорректности!
Его применение никак поставленную задачу не решает. Импортируется в Эксель все в одно единственное поле.
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34543888
Ионас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМВы привели только первую половину вопроса. Но чтобы сказать, как именно этот файл надо импортировать в DBF необходимо знать структуру того DBF в который Вы хотите перенести информацию. Что из этого текстового файла надо взять, куда положить в DBF?
Вся эта таблица в текстовом файле должна оказаться в таблице *.dbo, т.е. в SQL Server 2000.
Я создал таблицу в SQL Server 2000 со следующей структурой:
Char 15
Int
Int
Float 9.6
CHar 1
Int
Int
Float 9.6
Char 1
Floiat 9.6
Int
Потом в VIsual FoxPro пробовал командами COPY TO и Append From
Ничего у меня не вышло хорошего.
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34544249
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ионас UrriА Экселем чего бы не воспользоваться?
________
Не дадим распространиться заразе политкорректности!
Его применение никак поставленную задачу не решает. Импортируется в Эксель все в одно единственное поле.Странно, а у меня получалось ;-)

Впрочем, ну его, Эксель, ведь в самом FoxPro есть куча команд, которые можно использовать для разбора текстовых файлов.
Вот навскидку несколько подходов:
1. FOPEN - в цикле FGETS и далее разбор строки (SUBSTR, ALLTRIM) - FCLOSE
2. Закачай файл в мемо и далее в цикле работай со строками мемо. Пригодятся SET MEMOWIDTH и MLINE(), MEMLINES(). Разбор строки - как в 1.
3. конвертируй файл прямо в строку (FILETOSTR()), которую потом и разбирай.
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34544346
Ионас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Urri[quot Ионас]
1. FOPEN - в цикле FGETS и далее разбор строки (SUBSTR, ALLTRIM) - FCLOSE
2. Закачай файл в мемо и далее в цикле работай со строками мемо. Пригодятся SET MEMOWIDTH и MLINE(), MEMLINES(). Разбор строки - как в 1.
3. конвертируй файл прямо в строку (FILETOSTR()), которую потом и разбирай.
А примерчик какой-нить небольшой не мог бы скинуть, раз такое делал думаю тебе это было бы не сложно.
Перевод в строку мне нравится. Поскольку мне необходимо эти данные чуть-чуть обработать.
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34544445
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
* предположим, у нас аски-файл такой:
* Строка1   Y  123 . 45 
* Строчка2  N -. 333 
* ...
* И есть таблица "Выход", куда надо класть результат с полями NAME C( 10 ), FLAG L, QTY N( 10 , 3 )
lnOldMemoWidth = set('MEMOWIDTH')
lnOldArea = select()
set memowidth to  250  && надеюсь, хватит
select  0 
create cursor mmm (mm m)
append blank
append memo mm from (твой_файл)
lnLines = MEMLINES(mmm.mm)
for lnI =  1  to lnLines
  lcStrOfFile = MLINE(mmm.mm,lnI)
  lcVal1 = alltrim(substr(lcStrOfFile, 1 , 10 ))
  llVal2 = substr(lcStrOfFile, 11 , 1 )='Y'
  lnVal3 = val(substr(lcStrOfFile, 13 , 10 ))
  insert into (Выход) (NAME, FLAG, QTY) VALUES (lcVal1 ,llVal2 ,lnVal3)
next
use
set memowidth to lnOldMemoWidth
select (lnOldArea)
________
Не дадим распространиться заразе политкорректности!
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34544768
homik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предлагаю вариант с использованием чтения файла на низком уровне, т.е. FOPEN(), FREAD().
Если не устраивает, то открываешь исходный фал например в текстовом редакторе Norton Commander или FAR-Manager. Столбцы из которых необходимо записать в одно поле отделяешь например табулятором (Вставка пустых столбцов).
Затем File-Import-Text... где по запросу указываешь разделитель TAB.

А вообще, не плохо было-бы ставить вопрос конкретнее.
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34546308
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ионас
Вся эта таблица в текстовом файле должна оказаться в таблице *.dbo, т.е. в SQL Server 2000.
Насколько я знаю, SQL Server 2000 хранит данный в файлах MDF и лог в файле LDF. Откуда Вы взяли расширение dbo? Что это за тип файлов?

Если речь идет о таблицах внутри базы данных MS SQL сервера, то указание dbo в их именах - это не окончание, а префикс и означает владельца таблицы. Сокращение от "Data Base Owner". Т.е. владелец таблицы, по умолчанию, совпадает с владельцем базы данных.

Имена таблиц в MS SQL сервере, по умолчанию, пишутся так:

Имя_Базы_Данных.Владелец.Имя_Таблицы

MyBase.dbo.MyTable

Поэтому, Вас никто и не может понять. Написание *.dbo не соответствует ни одному из известных форматов. Это "опечатка" или Вы имели в виду, что-то особенное? Никому не известное?

ИонасЯ создал таблицу в SQL Server 2000 со следующей структурой:
Char 15
Int
Int
Float 9.6
CHar 1
Int
Int
Float 9.6
Char 1
Floiat 9.6
Int
Потом в VIsual FoxPro пробовал командами COPY TO и Append From
Ничего у меня не вышло хорошего.
Команда COPY TO копирует данных из таблицы FoxPro. Поскольку у Вас текстовый файл, то данная команда бессмыслена.

Команда APPEND FROM используется для таблиц FoxPro. Естесственно, FoxPro в принципе ничего не знает о таблицах MS SQL. Необходимо предпринять ряд специальных мер, чтобы FoxPro "увидел" таблицы MS SQL. Ну, например, создать Remote View.

С точки зрения FoxPro Remote View - это обычная таблица. Соответственно, в нее можно добавлять данные как и в обычные таблицы FoxPro. Если настроить режим обновления данных (закладка Update Criteria в дизайнере Remote View), то изменения, вносимые на стороне FoxPro в Remote View будут автоматически переносится в таблицу MS SQL, на основании которой этот Remote View был построен.

Чтобы воспользоваться космандой APPEND FROM надо вернуться к тому, с чего все началось. К структуре данных.

Команда APPEND FROM предполагает, что файл из которого будут импортированны данные имеет определенную структуру. Какую именно, определяется параметром, указывающим тип файла.

Судя по предложенному фрагменту, это текстовый файл формата SDF. Это такой формат, где под каждое "поле" отводится фиксированное количество символов. Чтобы корректно импортировать данные из этого файла командой APPEND FROM файл, в который будет осуществляться импорт должен иметь аналогичную структуру в смысле длины полей.

Поэтому, необходим такой код

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Create Cursor test (f1 C( 15 ), ;
		f2 N( 3 ), ;
		f3 N( 3 ), ;
		f4 N( 10 , 6 ), ;
		f5 C( 2 ), ;
		f6 N( 4 ), ;
		f7 N( 3 ), ;
		f8 N( 10 , 6 ), ;
		f9 C( 2 ), ;
		f10 N( 13 , 6 ), ;
		f11 N( 10 ))
Append From  1 .asc type SDF
Browse nowait

Теперь, когда данные импортированы из текстового файла в файл DBF можно использовать команды по работе с таблицами в FoxPro для дальнейшей закачки в тот же Remote View.

Если же алгоритм разбора текстового файла более сложный, то используют другие способы чтения. Например, уже предложенные FOPEN()+FREAD()/FGETS(). Но есть и другие варианты.
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34546382
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прогоните его к глори )
скл - сервер сам не плохо читать умеет
зачем же тогда вгонять все в фокс?
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34546884
Ионас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leafпрогоните его к глори )
Хто такая ? Почему не знаю ?
leaf скл - сервер сам не плохо читать умеет
зачем же тогда вгонять все в фокс?
Моя задача не просто тупо вогнать в сиквел, а много всяких разнообразных вещейц с данными проделывать. Поэтому т.к. Fox прекрасно дружит с сиквелом я его использую.
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34546891
Ионас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я сегодня отработал вариант Excel - Fox. Все прекрасно добавилось с помощью команды:
Append from Книга1 Type xls Fields asd, zxc, qwe
Попробую добавить напрямую данные из текстового файла с расширением *.asc (ASCII - файл), но надо будет понять как правильно указать тип файла, т.к. на asc реагирует плохо, дает ошибку.
Допустим разберусь. Смущает следующее, что в текстовом файле придется дописывать названия полей.
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34547388
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
глори админ из прибалтики
на форуме по скл-серверу
...
Рейтинг: 0 / 0
импорт базы данных в офрмате ASCII
    #34549788
Ионас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leafглори админ из прибалтики
на форуме по скл-серверу
Пнятна. И на кой ляд мне ента бабенка ?
...
Рейтинг: 0 / 0
35 сообщений из 35, показаны все 2 страниц
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / импорт базы данных в офрмате ASCII
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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