Problem z połączeniem do lokalnej bazy dbf

Problem z połączeniem do lokalnej bazy dbf
CL
  • Rejestracja:ponad 15 lat
  • Ostatnio:6 miesięcy
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ć?

PA
  • Rejestracja:ponad 22 lata
  • Ostatnio:około 2 godziny
  • Postów:3866
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?

edytowany 1x, ostatnio: Panczo
Marcin.Miga
  • Rejestracja:prawie 17 lat
  • Ostatnio:około 3 godziny
  • Postów:2792
0

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

edytowany 1x, ostatnio: Marcin.Miga
CL
  • Rejestracja:ponad 15 lat
  • Ostatnio:6 miesięcy
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

edytowany 2x, ostatnio: Clarc
PA
  • Rejestracja:ponad 22 lata
  • Ostatnio:około 2 godziny
  • Postów:3866
0

A te szczegóły błędu?

CL
  • Rejestracja:ponad 15 lat
  • Ostatnio:6 miesięcy
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.

PA
  • Rejestracja:ponad 22 lata
  • Ostatnio:około 2 godziny
  • Postów:3866
0

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

CL
  • Rejestracja:ponad 15 lat
  • Ostatnio:6 miesięcy
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.

PA
  • Rejestracja:ponad 22 lata
  • Ostatnio:około 2 godziny
  • Postów:3866
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ą...

CL
  • Rejestracja:ponad 15 lat
  • Ostatnio:6 miesięcy
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.

abrakadaber
abrakadaber
  • Rejestracja:ponad 12 lat
  • Ostatnio:7 miesięcy
  • Postów:6610
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


Chcesz pomocy - pokaż kod - abrakadabra źle działa z techniką.
PA
A radzi sobie z nazwami plików dłuższymi niż 8 znaków? Pytam bo nie wiem.
abrakadaber
abrakadaber
nie wiem :) - ja mam wszystkie DBFy nazwane do 8 znaków. Ale podejrzewam że tak bo opiera się o mechanizmy windowsowe dostępu do plików
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)