Создание DBF файлов (ADO)
От: Lydia  
Дата: 05.02.02 15:06
Оценка:
При создании файла:

_ConnectionPtr pConn = NULL;

USES_CONVERSION;
CString strConn("Driver={Microsoft dBASE Driver (*.dbf)};FIL=dBASE 5.0;Dbq=D:\\DB");
        
pConn.CreateInstance(__uuidof(Connection));
pConn->Open(A2W(strConn), L"", L"", adConnectUnspecified);
CString strQyery("CREATE TABLE MyTable (SUM NUMERIC(14,2))"); 
pConn->Execute(A2W(strQyery), NULL, adExecuteNoRecords);


выдается: "Ошибка синтаксиса в инструкции CREATE TABLE",
а если взять
CString strQyery("CREATE TABLE MyTable (SUM CHAR(14))");
то все создается нормально.

Почему не проходит с типом NUMERIC?
Спасибо.
Re: Создание DBF файлов (ADO)
От: IT Россия linq2db.com
Дата: 05.02.02 15:13
Оценка:
Здравствуйте Lydia, Вы писали:

L>выдается: "Ошибка синтаксиса в инструкции CREATE TABLE", а если взять CString strQyery("CREATE TABLE MyTable (SUM CHAR(14))"); то все создается нормально.


А если попробовать 'N'?
См. ссылку CREATE TABLE – SQL Command
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: Создание DBF файлов (ADO)
От: Lydia  
Дата: 05.02.02 15:23
Оценка:
Здравствуйте IT, Вы писали:

IT>А если попробовать 'N'?


Увы, так тоже ничего не выходит :(
Re[3]: Создание DBF файлов (ADO)
От: IT Россия linq2db.com
Дата: 05.02.02 15:43
Оценка:
Здравствуйте Lydia, Вы писали:

L> Увы, так тоже ничего не выходит


А если имя поля не SUM? Всё таки 'SUM' не очень подходящее название для поля.
Если нам не помогут, то мы тоже никого не пощадим.
Re[4]: Создание DBF файлов (ADO)
От: Dima2  
Дата: 05.02.02 18:07
Оценка:
Здравствуйте IT, Вы писали:

IT>Здравствуйте Lydia, Вы писали:


L>> Увы, так тоже ничего не выходит


IT>А если имя поля не SUM? Всё таки 'SUM' не очень подходящее название для поля.


Для меня это кстати тоже актуально. У меня уже зла не хватает на ADO (см. ниже). Ну все через жо... И главное объснения этому поведению нигде нет.
А еще кто-то меня спрашивал зачем тебе другие библиотеки, когда есть ADO (лучше бы ее не было, или его, не знаю какого оно роду).

Дело не 'SUM'. Не создается таблица.
А вот так создается, но поле получается NUMERIC(20,5)
"CREATE TABLE MyTable (SUM NUMERIC)"
Re[5]: Создание DBF файлов (ADO)
От: Lydia  
Дата: 06.02.02 06:13
Оценка:
Здравствуйте Dima2, Вы писали:

IT>>А если имя поля не SUM? Всё таки 'SUM' не очень подходящее название для поля.


D>Дело не 'SUM'. Не создается таблица.

D>А вот так создается, но поле получается NUMERIC(20,5)
D>
D>"CREATE TABLE MyTable (SUM NUMERIC)"
D>


Дело в том, что необходимо создать именно поле NUMERIC(14,2).
Пробовала использовать:

"Driver={Microsoft FoxPro Driver (*.dbf)};SourceDB=d:\\DB;SourceType=DBF"


он понимает NUMERIC(14,2), но создает непонятно что (FoxPro не воспринимает это как таблицу вообще)
Re[6]: Создание DBF файлов (ADO)
От: Dima2  
Дата: 06.02.02 07:06
Оценка:
Здравствуйте Lydia, Вы писали:

L>Дело в том, что необходимо создать именно поле NUMERIC(14,2).

L>Пробовала использовать:
L>
L>
L>"Driver={Microsoft FoxPro Driver (*.dbf)};SourceDB=d:\\DB;SourceType=DBF"
L>


L>он понимает NUMERIC(14,2), но создает непонятно что (FoxPro не воспринимает это как таблицу вообще)


У меня нет слов ...
Re[7]: Создание DBF файлов (ADO)
От: The Lex Украина  
Дата: 08.02.02 12:43
Оценка:
Здравствуйте Dima2, Вы писали:

D>У меня нет слов ...

Русский язык — один из самых богатых на ругательства! Цените это богатство, изучайте его, и пользуйтесь в свое удовольствие!

А слова, которые должен понимать драйвер FoxPro, скорее всего такие:

CREATE TABLE MyTable (MyField N(14, 7))


И еще: при работе с ODBC очень помогает включение трассировки — так бывает идут более развернутые сообщения об ошибках.
Голь на выдумку хитра, однако...
Re[8]: Создание DBF файлов (ADO)
От: Dima2  
Дата: 10.02.02 10:56
Оценка:
Здравствуйте The Lex, Вы писали:

TL>Здравствуйте Dima2, Вы писали:


D>>У меня нет слов ...

TL>Русский язык — один из самых богатых на ругательства! Цените это богатство, изучайте его, и пользуйтесь в свое удовольствие!
Да я пользуюсь, но вопрос задала девушка, поэтому я постеснялся

TL>А слова, которые должен понимать драйвер FoxPro, скорее всего такие:


TL>
TL>CREATE TABLE MyTable (MyField N(14, 7))
TL>


Не понимает он этих слов. Я знаеш сколько вариантов перепробовал......
Re: Создание DBF файлов (ADO)
От: WPooh США  
Дата: 23.02.02 09:40
Оценка:
Можно попробовать ADOX. Не знаю про dbf, но акцессовсике таблички делает. Если нужно, могу кинуть программку для теста совместимости работы ADOX с базой (OLE DB провайдером). Есть даже статейка про это (если интересно).

Успехов!
К этому моменту у меня внутри 0.5, 0.7, 0.33 (с) НС
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.