У меня следующая проблема. Подключаюсь к базе данных Acces через ODBC. Средствами ODBC пытаюсь в БД через запрос создать таблицу. Почему-то возникает ошибка при создании таблицы, содержащей поле типа TINYINT. Например:
CREATE TABLE A (ID INTEGER PRIMARY KEY, N TINYINT)
С целыми типами SMALLINT и INTEGER прокатывает, а с TINYINT — нет. Почему?
Здравствуйте, Garbager, Вы писали:
G>CREATE TABLE A (ID INTEGER PRIMARY KEY, N TINYINT) G> С целыми типами SMALLINT и INTEGER прокатывает, а с TINYINT — нет. Почему?
Попробуй синонимы — INTEGER1, BYTE. Попробуй также через ADO — может быть драйвер не пропускает неизвестный ему тип.
Re[2]: Проблема с типами данных в Access
От:
Аноним
Дата:
11.09.06 06:09
Оценка:
Здравствуйте, wildwind, Вы писали: W>Попробуй синонимы — INTEGER1, BYTE. Попробуй также через ADO — может быть драйвер не пропускает неизвестный ему тип.
Синонимы мне использовать нельзя, необходимо придерживаться SQL92.
Еще один косяк: не прокатывают запросы на создание таблиц с определением полей типа DECIMAL и NUMERIC, например:
CREATE TABLE A (
ID INTEGER NOT NULL,
N1 NUMERIC(5,1) NOT NULL,
PRIMARY KEY (ID)
)
или
CREATE TABLE A (
ID INTEGER NOT NULL,
N1 DECIMAL(5,1) NOT NULL,
PRIMARY KEY (ID)
)
В первом случае сообщение драйвера: "Ошибка синтаксиса в инструкции CREATE TABLE".
Во втором случае сообщение драйвера: "Ошибка синтаксиса при определении поля".
Здравствуйте, Garbager, Вы писали:
G>Еще один косяк: не прокатывают запросы на создание таблиц с определением полей типа DECIMAL и NUMERIC, например: G>CREATE TABLE A ( G> ID INTEGER NOT NULL, G> N1 NUMERIC(5,1) NOT NULL,
G> PRIMARY KEY (ID) G>)
G>или
G>CREATE TABLE A ( G> ID INTEGER NOT NULL, G> N1 DECIMAL(5,1) NOT NULL,
G> PRIMARY KEY (ID) G>)
G>В первом случае сообщение драйвера: "Ошибка синтаксиса в инструкции CREATE TABLE". G>Во втором случае сообщение драйвера: "Ошибка синтаксиса при определении поля".
Здравствуйте, Garbager, Вы писали:
G> С целыми типами SMALLINT и INTEGER прокатывает, а с TINYINT — нет. Почему?
Посмотри Microsoft Access Data Types и там Limitations ещё есть.
Наука изощряет ум; ученье вострит память.
(c) Козьма Прутков