Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ADO, dBASE, create table: ошибка синтаксиса при определении поля. [D6, dBase, FoxPro]


alex_1234 ©   (2005-10-10 14:46:00) 

Строка подключения:

  dbIK.ConnectionString:=
  'Provider=MSDASQL.1;Persist Security Info=False;'+
  'Extended Properties="DSN=Ôàéëû dBASE;DBQ='+
  PathIK+';DefaultDir='+PathIK+';DriverId=533;'+
  'MaxBufferSize=2048;PageTimeout=5;"';

где PathIK - содержит путь к папке с таблицами.
При попытке выполнить запрос:
  q2.Close;
  q2.SQL.Clear;
  q2.SQL.Add('CREATE TABLE PLUCASH(');
  q2.SQL.Add('ARTICUL char(30),');
  q2.SQL.Add('NAME char(80),');
  q2.SQL.Add('MESURIMENT char(10),');
  q2.SQL.Add('MESPRESISI NUMERIC(16,6)');
  q2.SQL.Add(')');
  q2.ExecSQL;

ругается следующим макаром:
....Ошибка синтаксиса в инструкции CREATE TABLE....


alex_1234   (2005-10-11 17:53:00) [1]

Да я бы все на БДЕ делал-бы (да и в комплект 4 СуперМага она входит), но она не хочет делать один запрос (4 таблички вяжутся, правда весьма несложно) - ругается на индексный файл (таблица Фокса)....


sniknik   (2005-10-11 17:39:00) [2]

> был еще БДЕ, а тут его не будет...
будет!!! ;о)) оно живее всех живых. Jet использует BDE.  полное если стоит, либо урезаное(лайт версия унутрях) если нет.


alex_1234   (2005-10-11 16:23:00) [3]

Блин, как бы мне этого не хотелось - а пришлось делать через "ж..у":

  dbMag.ConnectionString:=
  'Provider=MSDASQL.1;Persist Security Info=False;'+
  'Extended Properties="DSN=Òàáëèöû Visual FoxPro;UID=;'+
  'SourceDB='+PathMag+';SourceType=DBF;Exclusive=No;'+
  'BackgroundFetch=Yes;Collate=Machine;Null=Yes;'+
  'Deleted=Yes;"';
  dbIK.ConnectionString:=
  'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+PathIK+
  ';Extended Properties=dBase IV;Persist Security Info=False';

т.е. для разных запросов - разные типы полключения:
для таблиц FoxPro - MSDASQL,
а для dBase - Microsoft.Jet.OLEDB

Утешает, что в предыдущих версиях был еще БДЕ, а тут его не будет...


Anatoly Podgoretsky   (2005-10-10 18:55:00) [4]

Reindeer Moss Eater ©   (10.10.05 16:58) [8]
Не судя по всему, а так и есть MSDASQL


Reindeer Moss Eater   (2005-10-10 16:58:00) [5]

Судя по всему у тебя провайдер использует ODBC.
Вот и посмотри как по стандарту ODBC зовется такое поле.


Reindeer Moss Eater   (2005-10-10 16:56:00) [6]

Но ведь не может быть такого, чтобы в ADO не было аналогичного типа....

Почему не может? Может. Зависит от завихрений автора используемого провайдера. Кроме того, этот типа там может просто называться по другому.


alex_1234   (2005-10-10 16:04:00) [7]

mr.il : писал - не выходит каменный цветок.
Попробую как писал sniknik - а вдруг "съест"


mr.il   (2005-10-10 15:47:00) [8]

Попробуй прописать название таблицы с расширением - PLUCASH.dbf.


sniknik   (2005-10-10 15:38:00) [9]

> CREATE TABLE PLUCASH ... ARTICUL ...
;о) супермаг dos. ;о)

просто
MESPRESISI NUMERIC
и все без всяких (16,6). поддерживается только емулируемый тип (под double) с размерностью 20,5 который и будет создан по умолчанию. без указаний.

но это тебе конечно не поможет. -> супермаг... %о)

> в каком хлп-файле нарыть типы полей поддерживаемых АДО...
Jet - JETSQL40.CHM. а АДО поддерживает все что поддерживает подключаемый драйвер/провайдер. кроме разных мелких :) досадных недоразумений. (бигинт...)


alex_1234   (2005-10-10 15:00:00) [10]

Но ведь не может быть такого, чтобы в ADO не было аналогичного типа....
Подскажите, в каком хлп-файле нарыть типы полей поддерживаемых АДО...


Reindeer Moss Eater   (2005-10-10 14:56:00) [11]

А БДЕ - (СКуэЛь експлорер) - все прекрасно работает :-(

Работает, потому что в LocalSQL есть такой тип поля.


alex_1234   (2005-10-10 14:52:00) [12]

Забыл написать:
ориентировочно ошибка в q2.SQL.Add('MESPRESISI NUMERIC(16,6)');
т.к. без этого поля все прекрасно создается.
А БДЕ - (СКуэЛь експлорер) - все прекрасно работает :-(


Наверх

Титульная страница Поиск, карта сайта Написать письмо