Problem z połączeniem do lokalnej bazy dbf

0

Witam,
mam beznadziejny problem z którym nie potrafię sobie poradzić. Może znajdzie się tutaj ktoś sprytniejszy i pomoże w rozwiązaniu problemu.
Mam aplikację napisaną z Delphi, którą łączę się z bazą w lokalnym plikach dbf. U mnie wszystko działa w porządku. Drugi programista korzysta z tego samego kodu aplikacji co ja i przy próbie połączenia z niektórymi plikami dbf wchodzącymi w skład projektu dostaje komunikat o błędzie widoczny na obrazku - łączymy się z bazą przez FireDac.
reduktory.JPG
Teraz zaczyna się najciekawsze. Sprawdzałem u siebie na innych komputerach i u mnie jest ok. Drugi programista również sprawdzał na drugim komputerze i dostaje ten sam błąd.
Próbowaliśmy nawiązać połączenie przez komponenty ADO przez ODBC - ten sam wynik.
Co ciekawe w projekcie jest kilka plików dbf. Program wykrzacza się dopiero na reduktory.dbf.
Sprawdzaliśmy ręcznie - plik jest tam gdzie powinien.
Ścieżka do połączenie podana jest prawidłowo.
reduktory.dbf bez problemu można otworzyć w dowolnym edytorze/przeglądarce dbf.
Porównałem reduktory.dbf z inną bazą rury.dbf odnośnie formatu zapisu itp. Obie są zapisane w formacie dBASE IV. Niczym się nie różnią - poza strukturą i danymi.
A teraz bomba.
Zmieniliśmy nazwę rury.dbf (ładuje się poprawie) na reduktory.dbf - program wyświetla ten sam błąd.
Zmieniliśmy nazwę wcześniejszej bazy reduktory.dbf na rury.dbf - problemu nie ma.
Drugi programista miał na komputerze jeszcze jakieś oprogramowanie GIS-owe itp. Powyłączaliśmy wszystkie usługi itp. - znowu błąd dla reduktorów.
Wszystkie aplikacje związane z GIS-em zostały usunięte i dalej to samo.
Na drugim praktycznie czystym komputerze drugi programista ma zainstalowany jedynie program graficzny. Znowu ten sam błąd.
Mi skończyły się pomysły. Dodatkowo przeszukaliśmy wszystkie uruchomione w systemie procesy pod kątem 'zakazanej'? nazwy oraz pliki czy przypadkiem nie ma takiego pliku jeszcze gdzieś. Nic nie znaleźliśmy.
Czy ktokolwiek spotkał się kiedyś z czymś takim? Wiem, że to problem z pogranicza Delphi i baz danych ale wydaje mi się, że bardziej pasuje to tutaj. To raczej nie kwestia metody połączenia. Coś jest ewidentnie nie tak z nazwą. Czy ktoś ma pomysł co jeszcze można sprawdzić żeby to naprawić?

0

A te szczegóły do których zaprasza komunikat co zawierają? Dawno nie działałem z plikami dbf, ale to może być zwiazane z plikami powiązanymi z dbf (ndx, dbt),
Pytanie czy na komputerze w którym działa program masz pliki o nazwie reduktory.* (gdzie rozszerzenie <> dbf), których nie ma na problematycznej stacji?

0

A próbowaliście usunąć indeksy? *.idx, *.ntx, *.ndx ?? Dla DBF mogą być różne

0

Wspomniany dbf dotyczy bazy dla plików shp. Wywaliliśmy wszystko co miało reduktory w nazwie. Został tylko reduktory.dbf. Innego pliku reduktory na dysku nie znaleźliśmy.
A szczegóły to raport z narzędzi zbierającego informacje odnośnie wywoływanego błędu - odnośnie do kodu źródłowego Delphi i wspomnianego FireDac'a, jeśli ktoś jest obyty z FireDac'iem to zrzut w załączniku.
stack.txt

0

A te szczegóły błędu?

0
Panczo napisał(a):

A te szczegóły błędu?

Szczegóły to właśnie ten plik w załączniku z postu powyżej.

0

Nic z tego raportu dla mnie nie wynika, a możesz udostępnić ten plik dbf?

0

Proszę.
reduktory.7z
Chociaż sam plik raczej nie ma tu nic do znaczenia. Próbowaliśmy tworzyć nowy projekt, gdzie reduktory.dbf był pusty, nie mieliśmy w nim żadnych danych i było to samo.

1

Link nie działa, ale to nie problem, problemem nie jest plik a raczej jego nazwa, dłuższy niż 8 znaków, z tego wynika, że na kompie na którym działa masz starszą wersją JET-a.
jak odwołasz się do nazwy dosowej REDUKT~1.DBF to połączysz się bez problemu.

W każdym razie to jest kierunek w którym powinieneś szukać rozwiązania:
https://social.msdn.microsoft.com/Forums/vstudio/en-US/99283479-b3f6-4fad-91d0-8bcaa9c11929/oledb-dbase3-problem?forum=vbgeneral

Ewentualnie przejść na innego providera lub jeśli to możliwe zmienić nazwę pliku na krótszą...

0

Kurczę, zupełnie zapomniałem o długości nazwy.
Faktycznie to będzie to. Normalnie obsługę bazy mamy zapewnioną od strony shape'a. Niestety ze względu na ograniczenia licencyjne musiałem połączyć się z bazą bezpośrednio. Ja mam na pewno nowszą wersję providera i stąd te problemy. Wielkie dzięki za pomoc! Jutro to sprawdzimy i poprawimy co trzeba.

0

ja tak tylko OT do obsługi DBFów pod Delphi polecam darmowe VKDBF - przetestowany w boju i radzi sobie z NTXami jako jeden z niewielu

1 użytkowników online, w tym zalogowanych: 0, gości: 1