🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi.bazy-danych
Article #82697

Re: FireDac, MSSQL na komputerze z XE6 nie rzuca wyjątkiem (3604): Duplicate key was ignored.

#82697
From: Jan Drawski
Date: Thu, 04 Aug 2016 00:26
34 lines
2724 bytes
> Przyczyna jest prosta; wstawisz wartość do pola, która już istnieje.
> Na tym polu jest klucz (indeks) unikalny, który dopuszcza duplikaty (to
> raczej mało sensowne ustawienie, ale może się przydać w specyficznych
> przypadkach).
> I wtedy będzie dokładnie tak jak opisujesz, poczytaj o opcji indeksu
> IGNORE_DUP_KEY:
> https://msdn.microsoft.com/en-us/library/ms186869.aspx

To było zamierzone, nie ma potrzeby sprawdzania, czy już wcześniej 
zostało część danych przesłanych. Nie znalazłem w MSSQLu polecenia typu 
INSERT IGNORE, a ze sprawdzaniem każdego id czy istnieje nie chciało mi 
się bawić choć teraz zmieniłem podejście.

>> Błąd wyskakuje na każdym komputerze jak korzystam np. z HeidiSQL.
>> Błąd z FireDac:
>> [FireDAC][Phys][ODBC][Microsoft][ODBC SQL Server Driver][SQL
>> Server]Duplicate key was ignored.
> Jak tak ustawiłeś bazę, to tak masz...

Ta sama baza, ten sam komputer:
- W HeidiSQL pojawia się okienko informujące o błędzie.
- W programie napisanym w Delphi nie ma wyjątku.
- W programie napisanym w Delphi (tym samym) są wyjątki przy innych błędach.

Inny komputer, inna baza danych, ten sam program napisany w Delphi: jest 
ten wyjątek

Poradziłem sobie obsługując id wyjątku, później w ogóle zmieniłem 
podejście. Nie wiem dlaczego program się tak zachowuje, oczekiwałbym, że 
albo zawsze będzie wyjątek albo nigdy a tu jest raz tak a raz inaczej.

-- 
Pozdrawiam
Jan Drawski
Technical Details
Message-ID: <57a28bba$0$656$65785112@news.neostrada.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!fu-berlin.de!peer03.fr7!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
References: <57a0cbf2$0$15189$65785112@news.neostrada.pl> <57a24a25$0$12541$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!fu-berlin.de!peer03.fr7!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
Subject: Re: FireDac, MSSQL na komputerze z XE6 nie rzuca
 wyjątkiem (3604): Duplicate key was ignored.
Newsgroups: pl.comp.lang.delphi.bazy-danych
References: <57a0cbf2$0$15189$65785112@news.neostrada.pl> <57a24a25$0$12541$65785112@news.neostrada.pl>
From: Jan Drawski <dfghdfg@o2.pl>
Date: Thu, 4 Aug 2016 02:26:35 +0200
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0
MIME-Version: 1.0
In-Reply-To: <57a24a25$0$12541$65785112@news.neostrada.pl>
Lines: 39
Message-ID: <57a28bba$0$656$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: user-109-243-73-38.play-internet.pl
X-Trace: 1470270394 unt-rea-b-01.news.neostrada.pl 656 109.243.73.38:60520
X-Complaints-To: abuse@news.neostrada.pl
X-Received-Bytes: 2500
X-Received-Body-CRC: 3389216961
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit