Конференция "Базы" » Как открыть файл БД с нестандартным расширением? [D7, dBase, FoxPro]
 
  • LongUSB (22.08.08 11:42) [0]
    Есть файл: *.20080101. Это переименованный файл *.dbf
    Необходимо извлечь из него некоторые данные, при этом переименовывать файл нельзя. Знаю точно, что это возможно, но не знаю - как?
  • Smile (22.08.08 11:54) [1]
    при этом переименовывать файл нельзя
    Ну если переименовать файл не позволяет совесть, можно попробовать скопировать его с расширением DBF, а затем открыть стандартными средствами
  • Евгений Р. (22.08.08 12:01) [2]
    ну если sql-запрос, то имя таблицы писать в кавычках
    свойство RequeriLive=true;
    select *
    from "c:\temp\123.456"

    думаю и tTable должен поднять
  • Anatoly Podgoretsky © (22.08.08 12:14) [3]
    > LongUSB  (22.08.2008 11:42:00)  [0]

    А что и копировать тоже нельзя, я уж молчу указать в строке подключения/имени таблицы
    БДЕ поддерживает копирования всей фамилии.
  • Anatoly Podgoretsky © (22.08.08 12:16) [4]
    > LongUSB  (22.08.2008 11:42:00)  [0]

    Кстати, что за странная СУБД - dbf, не знаю таких.
    Или ты тот очередной пионер, который гордо заявляет dbf
  • LongUSB (22.08.08 15:52) [5]
    БлинаМуха! Не издевайтесь надо мной! Это не я придумал! Я всего лишь подстраиваюсь под то, что есть!

    Подробнее: ...
    Всего этих файлов обрабатывать надо очень много (>= 1500). Сейчас процесс получения инфо реализован по средством переименования, НО ЭТО ЖЕ ТУПО!!!
    и долго, и копировать  - ТОЖЕ ТУПО И ДОЛГО!!!

    Может кто-нибудь толком, конкретно на примере показать "Как открыть файл БД с нестандартным расширением?"
  • LongUSB (22.08.08 15:54) [6]
    ...и нет ни каких алиасов - просто - куча файлов
  • Евгений Р. (22.08.08 16:12) [7]

    >  [2]

    ну так чем не подходит?
  • clickmaker © (22.08.08 16:16) [8]
    а БДЕ не пофиг, какое расширение?
  • Правильный$Вася (22.08.08 18:38) [9]

    > ...и нет ни каких алиасов - просто - куча файлов

    алиас - необязателен для БДЕ
  • Труп Васи Доброго © (22.08.08 21:17) [10]
    Нет, в дизайн тайме БДЕ сама пытается приписать к данному имени DBF или DB, и, естественно кричит, что таблица "с:\ааа.45433.dbf" не существует.
    Присваивать имя в рантайме не пробовал, честно - лень.
  • LongUSB (26.08.08 15:50) [11]
    Ну что? Так ни кто ни чего и не придумал?
  • Курдль (26.08.08 16:06) [12]
    Дарю идею.
    Переведи в Pascal и юхай в цикле, передавая только путь и имя файла в aPathToDBF.

           private static bool FillContracts(ref DataSet aDs, String aPathToDBF)
           {
               string sql = String.Format(@"select...");
               try
               {
                   String connectString = String.Format("Provider=VFPOLEDB;Data Source={0}
    ", aPathToDBF);
                   OleDbConnection mConnection = new OleDbConnection(connectString);
                   mConnection.Open();
                   OleDbDataAdapter mAdapter = new OleDbDataAdapter(sql, mConnection);
                   mAdapter.Fill(aDs.CONTRACTS);
                   return true;
               }
               catch (Exception er)
               {
                   throw new Exception("Запрос к таблице договоров из папки\n" + aPathToDBF + "\nвызвал ошибку:\n" + er.Message);
               }

           }

  • Loginov Dmitry © (27.08.08 00:37) [13]
    > Ну что? Так ни кто ни чего и не придумал?


    А что тут еще можно придумать? Только копирование (с другим именем) или переименование. В модуле DBTables.pas реализована проверка по расширению, которая естественно накладывает свои ограничения (возможно такая же проверка есть и в самом ядре).
    Еще в качестве варианта можно откажаться от TTable и TQuery и юзать компоненты от сторонных разработчиков, например простейший TDBF.
  • LongUSB (01.09.08 10:18) [14]
    Есть вариант.
    Утилитка "DBFNavigator" - как раз делает то что мне нужно (не без того, о чем толковал Loginov Dmitry ©   (27.08.08 00:37) [13]). Она использует самопальный компонент AlxBASE. Если у кого есть - отправьте на E-mail! ПОЖАЛУЙСТА!
  • DrPass © (01.09.08 12:54) [15]
    Возьми самопальный компонент TDBF, который без ограничений можно скачать на сайте www.google.com, и забудь об этой проблеме
  • LongUSB (01.09.08 17:35) [16]
    ну да. так всегда. что не спроси - ответ один: "...гоги тебе в помощь...".
    ладна. тему можно закрывать.
 
Конференция "Базы" » Как открыть файл БД с нестандартным расширением? [D7, dBase, FoxPro]
Есть новые Нет новых   [134473   +28][b:0][p:0.001]