powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Microsoft dBase-драйвер создает файл DBF с неверным именем поля
2 сообщений из 2, страница 1 из 1
Microsoft dBase-драйвер создает файл DBF с неверным именем поля
    #34326742
klion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Мне необходимо с помощью ODBC драйвера создать таблицу формата dBase III.
Некоторые имена столбцов ДОЛЖНЫ начинаться с символа '_' (подчёркивание).
Использую стандартный драйвер Microsoft dBase Driver (*.dbf) в WinXP SP2 (и в SP1 было тоже самое).
Делаю SQL-запрос:
Код: plaintext
1.
CREATE TABLE test5 ("NAME_1" Char( 20 ), "_NAME_2" Char( 64 ));
В результате получаю таблицу TEST5.DBF с именами полей:
"NAME_1" и " X NAME_2"!

Главное, что символ подчёркивания подменяется только, если стоит в начале имени.
В середине имени - всё ОК.
Причём, если уже существует таблица (файл DBF) с именами полей, начинающимися с '_', то всё работает без символов 'X'.
Пробовал устанавливать в свойствах источника данных тип dBase III, dBase IV и dBase V -
не помогает.

Мой вопрос:
Как обойти такое ограничение в первом символе подчёркивания?
Если использовать другой драйвер, то какой?
Как создать через ODBC DBF-файл с именами полей, которые могут начинаться с символа подчёркивание?

Риторический вопрос:
Зачем Microsoft для dBase драйвера сделали символ '_' в качестве
SQL_SPECIAL_CHARACTERS="~`@#$%^&* _ -+=\}{"';:?/><,.!'[]|"?
...
Рейтинг: 0 / 0
Microsoft dBase-драйвер создает файл DBF с неверным именем поля
    #34328845
golsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из хелпа FoxPro:
Имя поля (DBF) = 10 символов начинающееся с буквы (letter) .

Поэтому:
1 -"официальные" методы создания DBF будут проверять это факт.
2 - DBF с полями начинающимися на символ "_" созданы левыми способами.

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

На счет риторического вопроса:
Символ "_" используется как служебный (wildcard character) в условии типа <поле> LIKE <шаблон> заменяя один неизвестный символ.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Microsoft dBase-драйвер создает файл DBF с неверным именем поля
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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