Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Билдер 6 и dbc через ADO. Ошибка 'Invalid path or file name' / 12 сообщений из 12, страница 1 из 1
06.10.2008, 16:55
    #35578634
Bananas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Билдер 6 и dbc через ADO. Ошибка 'Invalid path or file name'
В базе 1 таблца, написанная на 9ке.

Если в ADO Connected=true выставить в свойствах компонента, то прога компилится нормально.
Если Connected=true выставлять программно, то при компиляции вываливается ошибка дебаггера: Project1 Project1.exe raised exception class EOleException with message 'Invalid path or file name'.
В итоге могу работать только с жестко прописанной базой, а хочу, чтобы можно было менять подключения.

Строка подключения:
Код: plaintext
1.
Provider=VFPOLEDB. 1 ;Data Source=D:\AutoExporterXlsToDbf\DBC\Budget.dbc;Mode=ReadWrite;Password="";Collating Sequence=MACHINE

Уже не знаю, что думать.
...
Рейтинг: 0 / 0
06.10.2008, 18:46
    #35578967
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Билдер 6 и dbc через ADO. Ошибка 'Invalid path or file name'
А вам нужно подключаться именно к базе (dbc), или достаточно только к таблице (dbf)?
...
Рейтинг: 0 / 0
07.10.2008, 11:34
    #35579832
Bananas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Билдер 6 и dbc через ADO. Ошибка 'Invalid path or file name'
Если я подключусь к dbf, то придется самому писать генераторы первичных ключей, индексов, и контролировать целостность. Я этого не умею, поэтому хочу отдать это dbc.
...
Рейтинг: 0 / 0
07.10.2008, 11:36
    #35579837
Bananas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Билдер 6 и dbc через ADO. Ошибка 'Invalid path or file name'
Bananasконтролировать целостность.
пока база не оптимизирована - создал, чтоб проверить работоспособность с xls (из предыдущей моей темы), потом разнесу по сущностям.
...
Рейтинг: 0 / 0
08.10.2008, 05:17
    #35581944
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Билдер 6 и dbc через ADO. Ошибка 'Invalid path or file name'
BananasЕсли я подключусь к dbf, то придется самому писать генераторы первичных ключей, индексов, и контролировать целостность. Я этого не умею, поэтому хочу отдать это dbc.
Ась? Вы что, думаете, что Фокс - это MS SQL? Будете пользоваться хранимыми процедурами? :)

Вообще-то запросы при Select SQL не используют никакие ключи/индексы таблиц, а создают свои.
Какой контроль целостности? Если таблица повреждена физически, то и проект с ней не сладит.
А логических ошибок (опять, наверное, ищете "несовпадение типов" :) в таблице просто не может
быть. Единственное нарушение, которое я видел - если уменьшить размерность поля Numeric при наличии
в таблице данных, превышающих по значению новую размерность - сам фокс не понимал значение.
Но было это о-о-чень давно и в древних версиях. Причем это же не ошибка типа - байты в таблице
все равно в некое число преобразуются...
...
Рейтинг: 0 / 0
08.10.2008, 12:28
    #35582783
Bananas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Билдер 6 и dbc через ADO. Ошибка 'Invalid path or file name'
AndreTM
Ась? Вы что, думаете, что Фокс - это MS SQL? Будете пользоваться хранимыми процедурами? :)

Вообще-то запросы при Select SQL не используют никакие ключи/индексы таблиц, а создают свои.
Какой контроль целостности? Если таблица повреждена физически, то и проект с ней не сладит.
А логических ошибок (опять, наверное, ищете "несовпадение типов" :) в таблице просто не может
быть. Единственное нарушение, которое я видел - если уменьшить размерность поля Numeric при наличии
в таблице данных, превышающих по значению новую размерность - сам фокс не понимал значение.
Но было это о-о-чень давно и в древних версиях. Причем это же не ошибка типа - байты в таблице
все равно в некое число преобразуются...
Причем здесь ХП? Я о другом: если dbf, то при занесении новой записи нужно будет самому писать и поле id, индексы (понятия не имею, как они определяются), про целостность - когда несколько таблиц и нужно связывать записи по PK-FK, но тут разобрался. Никакие хп, триггеры и прочее мне не нужно.
...
Рейтинг: 0 / 0
08.10.2008, 12:30
    #35582791
Bananas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Билдер 6 и dbc через ADO. Ошибка 'Invalid path or file name'
Bananas
Вообще-то запросы при Select SQL не используют никакие ключи/индексы таблиц, а создают свои.

Непонял. Можете разъяснить?
...
Рейтинг: 0 / 0
08.10.2008, 13:22
    #35583008
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Билдер 6 и dbc через ADO. Ошибка 'Invalid path or file name'
"Ты помнишь, как всё начиналось?" (с) А.Макаревич
авторЦель: читать данные из xls и писать в dbf (или в xls).
Написал ТЗ, псевдокод алгоритмов обработки (кроме чтения будут и проверки). Теперь дело осталось за малым - реализовать:)
.....
Работа проги:
1. Подключилась к xls;
2. Взяла из него значение контрольных полей первой записи и положила к себе в буфер;
3. Подключилась к справочникам;
4. Взяла из них значение полей первой записи для сравнения и положила к себе в буфер;
5. Сравнила: если значения совпадают, то: взять из xls файла соответствующую строку и записать ее в словари.
.....
Есть ИНН и наименование плательщика. В dbf хранятся все ИНН и соответствующие им плательщики. Я беру из эксела и dbf эти поля и сравниваю.
.....
Эксельный файл не один, их много. Структура таблицы стандартна, но файл не один... , файлы приходят из разных источников...
Прога будет как автоматизатор: открыл, подключил все источники, запустил. Она сама перенесет все данные из экселя в dbf. Если возникнет несовпадение со словарями - предложет пользователю исправить
.....
Я о другом: если dbf, то при занесении новой записи нужно будет самому писать и поле id, индексы (понятия не имею, как они определяются), про целостность - когда несколько таблиц и нужно связывать записи по PK-FK, но тут разобрался. Никакие хп, триггеры и прочее мне не нужно.

Если бы сразу (как просили) привели примерчики исходных данных (две-три таблички экзеля),
пусть не DBC, но просто список справочников с указанием структуры и связей, то давно бы
разговор шел не на уровне выяснения типов данных или первичных ключей...
Кроме всего прочего, вы там что-то ваяете аж в трех системах одновременно?
--------------------------------
Вопрос по существу: база VFP (или таблицы от нее) ака Справочники - ваша собственная
разработка, или от какого-то программного комплекса? Если от другой проги - почему вы
в них пишете некие левые данные. Если ваша собственная - почему вы их организуете именно
в dBase формате.
...
Рейтинг: 0 / 0
08.10.2008, 14:22
    #35583246
Билдер 6 и dbc через ADO. Ошибка 'Invalid path or file name'
BananasВ базе 1 таблца, написанная на 9ке.

Если в ADO Connected=true выставить в свойствах компонента, то прога компилится нормально.
Если Connected=true выставлять программно, то при компиляции вываливается ошибка дебаггера: Project1 Project1.exe raised exception class EOleException with message 'Invalid path or file name'.
В итоге могу работать только с жестко прописанной базой, а хочу, чтобы можно было менять подключения.

Строка подключения:
Код: plaintext
1.
Provider=VFPOLEDB. 1 ;Data Source=D:\AutoExporterXlsToDbf\DBC\Budget.dbc;Mode=ReadWrite;Password="";Collating Sequence=MACHINE

Уже не знаю, что думать.
Если данная строка подключения введена в листинг программы, то, ИМХО, ошибка в пути к файлу.
Внутри программы на С++ надо писать двойной слеш (\\), так как комбинацию \<буква> компилятор пытается идентифицировать как управляющий символ (примеры управляющих символов: \r, \n, \t ...)
Сам на этом много раз "попадался" :)

Если же эта строка из соответствующего поля в Properties, то надо думать... :)
З.Ы. А зачем ставить Connected=true, если есть метод Open() ?
...
Рейтинг: 0 / 0
08.10.2008, 16:07
    #35583599
Bananas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Билдер 6 и dbc через ADO. Ошибка 'Invalid path or file name'
AndreTM[quot AndreTM]
Если бы сразу (как просили) привели примерчики исходных данных (две-три таблички экзеля),
пусть не DBC, но просто список справочников с указанием структуры и связей, то давно бы
разговор шел не на уровне выяснения типов данных или первичных ключей...
Кроме всего прочего, вы там что-то ваяете аж в трех системах одновременно?
--------------------------------
Вопрос по существу: база VFP (или таблицы от нее) ака Справочники - ваша собственная
разработка, или от какого-то программного комплекса? Если от другой проги - почему вы
в них пишете некие левые данные. Если ваша собственная - почему вы их организуете именно
в dBase формате.
говорю же - начальник сказал.
пока все в одной таблице. таблица - копия таблички из эксель файла, с которого переносить, никаких связей с программными комплексами.

Станислав С...кий
Если данная строка подключения введена в листинг программы, то, ИМХО, ошибка в пути к файлу.
Внутри программы на С++ надо писать двойной слеш (\\), так как комбинацию \<буква> компилятор пытается идентифицировать как управляющий символ (примеры управляющих символов: \r, \n, \t ...)
Сам на этом много раз "попадался" :)

Если же эта строка из соответствующего поля в Properties, то надо думать... :)
З.Ы. А зачем ставить Connected=true, если есть метод Open() ?
А как слеш удвоить? .c_str() выдает ошибку.
Зачем ставить - без понятия. Читал, что чтобы проверить соединение. Про Open только сейчас слышу.
...
Рейтинг: 0 / 0
09.10.2008, 08:28
    #35584620
Билдер 6 и dbc через ADO. Ошибка 'Invalid path or file name'
Bananas
пока все в одной таблице. таблица - копия таблички из эксель файла, с которого переносить, никаких связей с программными комплексами.
А как слеш удвоить?
Зачем ставить - без понятия. Читал, что чтобы проверить соединение. Про Open только сейчас слышу.
1. Слеш удвоить = написать слеш два раза Сначала один (\), а затем, без пробела, второй (\). Получится: \\

2. В принципе, Open() и Connected=true делают одно и то же - открывают коннекцию к базе данных.... Только использование Open() мне кажется более понятным...

3. Файл *.dbc у Вас все-таки является полноценным контейнером БД или просто переименованным файлом *.dbf? Если второе, то может быть посмотреть в сторону ODBC подключения? Или BDE?
...
Рейтинг: 0 / 0
16.10.2008, 10:01
    #35597408
Bananas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Билдер 6 и dbc через ADO. Ошибка 'Invalid path or file name'
Станислав С...кий
3. Файл *.dbc у Вас все-таки является полноценным контейнером БД или просто переименованным файлом *.dbf? Если второе, то может быть посмотреть в сторону ODBC подключения? Или BDE?
Сделаю самостоятельные таблицы. С подключением разобрался. Как будто слеши не везде поставил.
Тема закрыта, спасибо за помощь.
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Билдер 6 и dbc через ADO. Ошибка 'Invalid path or file name' / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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