Article View: pl.comp.lang.delphi.bazy-danych
Article #82951Re: FireDAC - błąd połączenia
From: jh
Date: Tue, 12 Jun 2018 22:27
Date: Tue, 12 Jun 2018 22:27
70 lines
4514 bytes
4514 bytes
W dniu poniedziałek, 11 czerwca 2018 17:53:18 UTC+2 użytkownik wloochacz napisał:
> Pokaż Connection InfoReport.
Nie mam tam stałego dostępu, muszę umówić się na zdalną sesję, wtedy zrobię.
> A żeby zobaczyć te Twoje obrazki, to ja się logował na pewno nie będę w MS.
> Sorry.
Chyba nie trzeba się logować...
> Tak się zastanawiam - skoro korzystasz z MSSQLa to na cholerę user może
> sobie cokolwiek wybierać ze sterownikami?
> Ma działać ze SQL Server Nativeclient 11.0 i koniec.
> FireDAC dobiera sterownik automagicznie.
> Znajduje to co ma w systemie.
> Np. jeśli nie ma SQL Server Nativeclient to będzie to Generic MSSQL.
> Kolejna sprawa, to musisz pamiętać o tym, że FireDAC w połączeniu z
> MSSQL korzysta z podsystemu ODBC.
> Koniec i kropka.
Pewnie masz rację. Coś mi się po głowie kołacze, że miałem taką sytuację, gdzie zwracane dane powodowały błędy, albo też zapytania nie wchodziły, dopóki nie wymusiłem NativeClienta. Stąd w opcjach programu, o ile user jest adminem, można wybrać sterownik.
> Reasumując;
> 1. Ma być zainstalowany SQL Server NativeClient 11 for ODBC
Jest.
> 2. Ma być ten sterownik dostępny; nie jestem pewien, czy w środowisku
> domenowym nie zahacza to o jakieś "uprawnienia"...
Nie powinno. Instalacja jest z msi, ale samo działanie nie wymaga żadnej konfiguracji. Przynajmniej dotąd do opcji instalatora dorzucałem klienta natywnego w zależności do wersji OS (x64/x86) i zawsze działało. Pierwszy raz trafiłem na taki kłopot.
> A coś mi tam tak śmierdzi, że podajesz niepoprawny ConnectionString dla
> FireDAC.
> Komunikat błędu sugeruje, że łączysz się przez ODBC po nazwie połączenia
> w ODBC (tzw. DSN właśnie) i nie można go w systemie odnaleźć.
> A to jest z gruntu złe rozwiązanie.
Czyszczę parametry połączenia i dodaję ręcznie jedynie to, że sterownik to MSSQL, jaka baza, serwer, user i pass lub łączenie po autentykacji Windows.
procedure TDM.CreateConnection(AConnection: TFDCustomConnection);
var
oList: TStringList;
begin
dlMSSQL.ODBCDriver := AppSettings.ODBCDriver;
oList := TStringList.Create;
try
oList.Add('DriverID=MSSQL');
oList.Add('Server=' + AppSettings.DBServer);
oList.Add('ApplicationName=' + APP_NAME_POLISH);
oList.Add('Database=' + AppSettings.DBName);
oList.Add('Pooled=False');
oList.Add('Language=POLISH');
oList.Add('MARS=YES');
oList.Add('VariantFormat=vfString');
oList.Add('ExtendedMetadata=True');
if AppSettings.DBOSAuth then
oList.Add('OSAuthent=Yes')
else begin
oList.Add('OSAuthent=No');
oList.Add('User_Name=' + AppSettings.DBLogin);
oList.Add('Password=' + AppSettings.DBPass);
end;
AConnection.Params.Assign(oList);
finally
oList.Free;
end;
end;
jh
Technical Details
Message-ID:
<d1ab20ae-570c-4f04-b0b2-9431df5442d4@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!feeds.phibee-telecom.net!newsfeed.xs4all.nl!newsfeed9.news.xs4all.nl!85.12.16.68.MISMATCH!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.am4!peer.am4.highwinds-media.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!u78-v6no858444itb.0!news-out.google.com!z3-v6ni362iti.0!nntp.google.com!u78-v6no858442itb.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailReferences:
<637108ee-fc9d-4184-891c-09f11211d39e@googlegroups.com> <5b1e9aed$0$679$65785112@news.neostrada.pl>Show Full Headers
Complete Article Headers
X-Received: by 2002:a24:7614:: with SMTP id z20-v6mr1082749itb.48.1528842468257; Tue, 12 Jun 2018 15:27:48 -0700 (PDT) X-Received: by 2002:aca:eb85:: with SMTP id j127-v6mr72386oih.13.1528842467992; Tue, 12 Jun 2018 15:27:47 -0700 (PDT) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!feeds.phibee-telecom.net!newsfeed.xs4all.nl!newsfeed9.news.xs4all.nl!85.12.16.68.MISMATCH!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.am4!peer.am4.highwinds-media.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!u78-v6no858444itb.0!news-out.google.com!z3-v6ni362iti.0!nntp.google.com!u78-v6no858442itb.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.delphi.bazy-danych Date: Tue, 12 Jun 2018 15:27:47 -0700 (PDT) In-Reply-To: <5b1e9aed$0$679$65785112@news.neostrada.pl> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=91.195.57.114; posting-account=byZjkAoAAACskOVCEuW1n0LwtyGtoZ4m NNTP-Posting-Host: 91.195.57.114 References: <637108ee-fc9d-4184-891c-09f11211d39e@googlegroups.com> <5b1e9aed$0$679$65785112@news.neostrada.pl> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <d1ab20ae-570c-4f04-b0b2-9431df5442d4@googlegroups.com> Subject: Re: FireDAC - błąd połączenia From: jh <info.jh.net.pl@gmail.com> Injection-Date: Tue, 12 Jun 2018 22:27:48 +0000 X-Received-Bytes: 4755 X-Received-Body-CRC: 3461981879 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit