Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ODBC и oracle на linux / 12 сообщений из 12, страница 1 из 1
25.02.2003, 10:58
    #32110673
Artfil
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC и oracle на linux
Подскажите возможно ли залить dbf на линуксовый сервак через ODBC win- клиента?
...
Рейтинг: 0 / 0
25.02.2003, 12:06
    #32110733
Oracle X-pert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC и oracle на linux
Mogno, no ne stoit: pogorish na NETWORK.
A ftp ne rabotaet?
...
Рейтинг: 0 / 0
25.02.2003, 12:35
    #32110753
Artfil
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC и oracle на linux
Я вливаю по внутренней сети, а не по интернету. Вопрос как приконнектится через sqlplus win-машины к серверу на linux через ODBC
...
Рейтинг: 0 / 0
26.02.2003, 11:42
    #32111330
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC и oracle на linux
> Вопрос как приконнектится через sqlplus win-машины к серверу на linux через > ODBC
Может я чего не понимаю но sqlplus к ODBC не имеет никакого отношения. sqlplus клиентская программа работает через oci, а ODBC это протокол доступа к базам данных, который использует функции oci.

Единственная проблема с заливкой это кодировки. У win - 1251 у DBF, если я правильно понимаю 866, у линукса koi8. Я заливал так DBF -> текст -> SQL loader. При этом не используется ни sqlplus ни ODBC. Есть куча программ (или можно написать самостоятельно) использующие два ODBC драйвера Oracle DBF, но большинство имеют проблемы с кодировками. Так что IMHO текст надежнее и быстрее.
...
Рейтинг: 0 / 0
27.02.2003, 14:00
    #32112104
Artfil
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC и oracle на linux
dbf > txt > sqlloader это первое, что я попробовал. Но столкнулся с проблемами, в части полей стоят символы от которых loadery плохеет и он не все поля записи берет причем количество записей совпадает. А в лог он кидает записи которые ему не понравились из-за съехавшей предыдущей. А из-за большого количества полей и большого количества записей в dbf и своей буферизации (нумерация записей у лоадера своя) я не могу найти исходные записи в dbf. В общем сумбурно объяснил. Эти dbf даже access не берет, только fox. Вот я вычитал про гетерогенные линки через ODBC, но никак не разберусь в ситуации когда база 8.1.6. на linux, а клиент на винде.
...
Рейтинг: 0 / 0
27.02.2003, 14:09
    #32112116
Oracle X-pert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC и oracle на linux
Esli rabotaesh po vnutrennei seti, to pochemy nel'zya zapustit'
exp system@linux ot Win?
Oracle Net* ne vidit Linux or ne prohodit Firewall?
...
Рейтинг: 0 / 0
27.02.2003, 14:16
    #32112120
юный ораклист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC и oracle на linux
выгрузи из dbf в текст-а потом loader ом
...
Рейтинг: 0 / 0
27.02.2003, 14:29
    #32112140
Artfil
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC и oracle на linux
Я выше объяснял почему у мне не пдходит loader
...
Рейтинг: 0 / 0
27.02.2003, 14:32
    #32112141
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC и oracle на linux
>cимволы от которых loadery плохеет
Глюк может возникать только из-за символов возврата каретки или ограничителей полей. Loader думает что запись (поле) кончилась и начинает новую. С последним можно побороться указав тип загрузки фиксированной ширины а с первым сказать ему что ограничитель строк это символ который гарантированно не встречается в записях типа {~}. Вручную в фоксе сформировать файл дампа, поставить в конце записи этот символ (может loader даже умеет группу символов)

Что касаемо одбс то проблемы только с кодировками.
> база 8.1.6. на linux, а клиент на винде.
Виндовому одбс драйверу параллельно на какой платформе Oracle, единственно что все кодировки должны совпадать

Еще оно лобовое решение из дбф файла фоксом делается отчет который делает sql предложения типа
insert into table values ('','');
изредка вставляются соммит;
Скрипт скармливается sqlplus.
Минус в том что каждый insert будет парсится, но с этим можно побороться через связанные переменные.
В общем тоже через текст.
...
Рейтинг: 0 / 0
27.02.2003, 15:00
    #32112177
Artfil
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC и oracle на linux
>Глюк может возникать только из-за символов возврата каретки или ограничителей полей.

Точно, из-за них и съезжает
Loader думает что запись (поле) кончилась и начинает новую. С последним можно побороться указав тип загрузки фиксированной ширины а с первым сказать ему что ограничитель строк это символ который гарантированно не встречается в записях типа {~?}.

Фокс не берет больше одного символа для разделителя

Вручную в фоксе сформировать файл дампа, поставить в конце записи этот символ (может loader даже умеет группу символов)

Loader берет да фокс не может
...
Рейтинг: 0 / 0
28.02.2003, 12:33
    #32112658
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC и oracle на linux
Я имел ввиду символ разделителя СТРОК, то есть печатаешь строку что то типа
=fputs(file,"строка"+"|") где "|"+\n неиспользуемая в базе последовательность символов

и он игнорирует просто перевод каретки, а ищет комбинацию "|"+\n для ограничителя строк
Пример из доки:
Example 3-3 illustrates loading in stream record format where the terminator string is specified using a hexadecimal string. The string X'7c0a', assuming an ASCII character set, translates to '|' followed by the newline character '\n'. The datafile in the example consists of two records, both properly terminated by the '|\n' string (that is, X'7c0a').

Example 3-3 Loading Data in Stream Record Format
load data
infile 'example.dat' "str X'7c0a'"
into table example
fields terminated by ',' optionally enclosed by '"'
(col1 char(5),
col2 char(7))

example.dat:
hello,world,|
james,bond,|
...
Рейтинг: 0 / 0
28.02.2003, 13:57
    #32112732
Artfil
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC и oracle на linux
> "|"+\n неиспользуемая в базе последовательность символов

А я имел ввиду что для того чтобы loader мог найти неиспользуемую последовательность в загружаемом файле их туда должен кто-то вставить. Логично? В моем случае это fox и он не умеет вставлять при выгрузке в текстовый файл более одного символа или неотображаемые символы.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ODBC и oracle на linux / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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