SQL Native Client 2005 - zkušenosti

PříspěvekNapsal: 05.05.2009 12:06
od jan.havranek
Pokud se v průběhu instalace objeví chybová hláška This Microsoft SQL Server Native Client package is not supported on the current processor type potom byl zřejmě použit nesprávný instalační balíček.

sqlncli_msg.gif
sqlncli_msg.gif (22.9 KiB) Zobrazeno 39489 krát

Instalace Native Client má různé balíčky pro každou procesorovou architekturu (x86, x64, ia64) a je třeba vybrat a nainstalovat ten odpovídající.

Další informace a potřebné odkazy jsou v příručce na webu, v kapitole Podmínky instalace SQL Native Client.

[SQL:21,16] Encryption not supported on the client.

PříspěvekNapsal: 11.09.2009 14:36
od jan.havranek
Po spuštění Helios Orange (verze UNICODE, která se připojuje již plně přes NCLI) se objeví chyba [SQL:21,16] Encryption not supported on the client.
chyba_prihlaseni.jpg
chyba_prihlaseni.jpg (19.57 KiB) Zobrazeno 39232 krát


A/ Tuto chybu způsobuje nastavení Nativního klienta, které říká, že se má používat šifrované spojení s SQL Serverem. Nastavení je uloženo v registrech. Vypnuté šifrování má vypadat takto:
Kód: Vybrat vše
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\GeneralFlags\Flag1]
Label=Force protocol encryption
Value=0

Value má pravděpodobně jinou hodnotu než 0. Hodnota 0 je vždy výchozí nastavení, jiná hodnota znamená nějaký ruční zásah/změnu.

B/ Může být problém i v tom, že Native Client je nekorektně nainstalován. Pokud výše zmíněné informace v registrech stanice chybí, pak je nejlepší cesta nápravy tato:

1/ Odinstalovat SQL Native Client SQL 2005
2/ Windows - Start - Spustit: regedit - smazat větev (pokud existuje)
Kód: Vybrat vše
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0

3/ znovu provést instalaci SQL Native Client SQL 2005

[chyba] Unable to complete login process due to delay...

PříspěvekNapsal: 16.09.2009 13:40
od marcel.vitek
Po přechodu na Unicode je možné, že se některé stanice nemohou připojit k Heliosu. Při pokusu o připojení vyskočí chyba:
Unable to complete login process due to delay in opening server connection.

Helios_chyba.jpg
Helios_chyba.jpg (10.94 KiB) Zobrazeno 39248 krát

1/ Řešení je přidat do firewallu na straně SQL serveru následující .exe soubory:
Kód: Vybrat vše
sqlbrowser.exe
sqlservr.exe

Poté restartovat SQL službu.

Někdy je hláška způsobena ještě něčím dalším než pouze nastavením firewallu, problém může být třeba v neplatných záznamech DNS (Domain Name System). V takovém případě je možné zkusit tyto kroky:

1/ Z příkazového řádku stanice spustit pokyn pro vyčištění lokální cashe DNS a poté znovu zkusit připojení.
Kód: Vybrat vše
ipconfig /flushdns

2/ Pokud smazání DNS cashe nepomohlo, zkusit zadat do Helios.ini IP adresu serveru místo jeho doménového jména (včetně jména instance SQL), tedy např:
Kód: Vybrat vše
Server=tcp:172.168.1.1\SQL2005

Nemusí se pak překládat doménové jméno přes DNS na IP adresu, tím se i zrychlí odezva.

[SQL:-1,16] SQL Network Interfaces: Error getting enabled ..

PříspěvekNapsal: 25.09.2009 12:26
od jan.havranek
Po spuštění Heliosu se objeví chyba:

[SQL:-1,16] SQL Network Interfaces: Error getting enabled protocols list from registry [xFFFFFFFF].

NCLI_chyba_registru.jpg
NCLI_chyba_registru.jpg (31.96 KiB) Zobrazeno 39081 krát

Na daném PC jsou patrně chyby v registru Windows - poškozená nastavení SQL Native Client.

Oprava:
1/ Odinstalovat SQL Native Client SQL 2005
2/ Windows - Start - Spustit: regedit - smazat větev (pokud existuje)
Kód: Vybrat vše
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0

3/ znovu provést instalaci SQL Native Client SQL 2005

[SQL:233,16] Named Pipes Provider: Na opačném konci...

PříspěvekNapsal: 21.10.2009 12:57
od marcel.vitek
Po přechodu na Unicode je možné, že se některé stanice nemohou připojit k Heliosu. Při pokusu o připojení vyskočí chyba:
[SQL:233,16] Named Pipes Provider: Na opačném konci přesměrování neprobíhá žádný proces.

chyba_prihlasovani.gif
chyba_prihlasovani.gif (22.42 KiB) Zobrazeno 38886 krát


Oprava:
A/ v Helios.ini, kde je definován SQL server je potřeba použít prefix "tcp:". Definice bude tedy vypadat takto:
Kód: Vybrat vše
Server=tcp:“název serveru“
nebo
Server=tcp:“IP adresa serveru“
v SQL Server Configuration Manager zkontrolovat, že je povolen protokol "TCP/IP"

B/ v SQL Server Configuration Manager povolit protokol "Named Pipes"

http://technet.microsoft.com/en-us/library/ms175496.aspx

SQL Native Client - TEST chybových hlášek

PříspěvekNapsal: 16.11.2009 16:14
od jan.havranek
Zde jsou výsledky TESTu chybových hlášení, které mohou nastat během připojování k MSSQL pomocí SQL Native Client 2005.

INFO:
Hlášky nejsou vyčerpávající, pokud se objeví další, budou sem doplněny.
Stejný problém se často projevuje jinou hláškou při připojení jiným prokolem.
Stejná hláška může znamenat různé problémy.
Je možné, že se některé hlášky objevují i v jiných situacích (zakázané protokoly SQL či nesprávná nastavení výjimek na Firewallu). Tyto další kombinace nebyly testovány.
Konfigurace serveru (parametr souboru HELIOS.INI) je uváděn kurzívou.
Vlastní chybové hlášení je uváděno tučně.

Testování proběhlo za "ideálních" podmínek:
  • vnitřní doménová síť LAN
  • funkční lokální Windows Firewall - nastavené výjimky na SQL Server a SQL Browser
  • povolené protokoly na SQL - Shared Memory (SM), Named Pipes (NP), TCP/IP (TCP)
Uvedené informace vysvětlují kdy k chybě došlo a měly by sloužit jako orientace pro dohledání řešení.


1/ server existuje, ale je chybně zadaná syntaxe instance SQL (lomítko je normální, má být zpětné "\")
Server=<SERVER>/<INSTANCE>
[SQL:67,16] Named Pipes Provider: Could not open a connection to SQL Server [67].


2/ server existuje, ale neexistuje default instance SQL, vynucený protokol TCP
Server=tcp:<SERVER>
[SQL:10061,16] TCP Provider: Nemohlo být vytvořeno žádné připojení, protože cílový počítač je aktivně odmítl.


3/ server existuje, ale neexistuje default instance SQL, vynucený protokol NP
Server=np:<SERVER>
[SQL:2,16] Named Pipes Provider: Could not open a connection to SQL Server [2].


4/ server existuje, ale neexistuje pojmenovaná instance SQL, vynucený protokol TCP
Server=tcp:<SERVER>\<NEEXISTUjÍCÍ INSTANCE>
Nelze se připojit k SQL-serveru tcp:<SERVER>\<NEEXISTUjÍCÍ INSTANCE>.
SQL-server tohoto jména neexistuje nebo je nepřístupný.
[SQL:-1,16] SQL Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF].



5/ server existuje, ale neexistuje pojmenovaná instance SQL, vynucený protokol NP
Server=np:<SERVER>\<NEEXISTUjÍCÍ INSTANCE>
Nelze se připojit k SQL-serveru np:<SERVER>\<NEEXISTUjÍCÍ INSTANCE>.
SQL-server tohoto jména neexistuje nebo je nepřístupný.
[SQL:-1,16] SQL Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF].



6/ existuje pouze DNS záznam serveru (PC je vypnuté nebo již není v síti), vynucený protokol TCP a pojmenovaná instance SQL
Server=tcp:<SERVER s DNS>\<INSTANCE>
Nelze se připojit k SQL-serveru tcp:<SERVER s DNS>\<INSTANCE>.
SQL-server tohoto jména neexistuje nebo je nepřístupný.
[SQL:-1,16] SQL Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF].



7/ existuje pouze DNS záznam serveru (PC je vypnuté nebo již není v síti), vynucený protokol NP a pojmenovaná instance SQL
Server=np:<SERVER s DNS>\<INSTANCE>
Nelze se připojit k SQL-serveru tcp:<SERVER s DNS>\<INSTANCE>.
SQL-server tohoto jména neexistuje nebo je nepřístupný.
[SQL:-1,16] SQL Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF].



8/ existuje pouze DNS záznam serveru (PC je vypnuté nebo již není v síti), vynucený protokol TCP a default instance SQL
Server=tcp:<SERVER s DNS>
[SQL:10060,16] TCP Provider: Pokus o připojení selhal, protože připojená strana v časovém intervalu řádně neodpověděla, nebo vytvořené
připojení selhalo, protože neodpověděl připojený hostitel.



9/ existuje pouze DNS záznam serveru (PC je vypnuté nebo již není v síti), vynucený protokol NP a default instance SQL
Server=np:<SERVER s DNS>
[SQL:1396,16] Named Pipes Provider: Could not open a connection to SQL Server [1396].


10/ server vůbec neexistuje, vynucený protokol TCP a default instance SQL
Server=tcp:<NEEXISTUJÍCÍ SERVER>
[SQL:11004,16] TCP Provider: Požadovaný název je platný, ale nebyla nalezena žádná data požadovaného typu.


11/ server vůbec neexistuje, vynucený protokol NP a default instance SQL
Server=np:<NEEXISTUJÍCÍ SERVER>
[SQL:53,16] Named Pipes Provider: Could not open a connection to SQL Server [53].


12/ server vůbec neexistuje, vynucený protokol TCP a pojmenovaná instance SQL
Server=tcp:<NEEXISTUJÍCÍ SERVER>\<NEEXISTUJÍCÍ INSTANCE>
Nelze se připojit k SQL-serveru tcp:<NEEXISTUJÍCÍ SERVER>\<NEEXISTUJÍCÍ INSTANCE>.
SQL-server tohoto jména neexistuje nebo je nepřístupný.
[SQL:-1,16] SQL Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF].



13/ server vůbec neexistuje, vynucený protokol NP a pojmenovaná instance SQL
Server=np:<NEEXISTUJÍCÍ SERVER>\<NEEXISTUJÍCÍ INSTANCE>
Nelze se připojit k SQL-serveru p:<NEEXISTUJÍCÍ SERVER>\<NEEXISTUJÍCÍ INSTANCE>.
SQL-server tohoto jména neexistuje nebo je nepřístupný.
[SQL:-1,16] SQL Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF].

[chyba] Unable to complete login process ... pokračování

PříspěvekNapsal: 10.12.2009 12:04
od jan.havranek
Chyba po spuštění Heliosu:
Unable to complete login process due to delay in opening server connection.
může být také způsobena pomalejší odezvou v síti (například při VPN připojení). K serveru se pak aplikace nepřipojí z důvodu vypršení timeoutu při přihlašování. Zkrátka časový interval pro připojení vyprší rychleji než se vůbec aplikace v síti k SQL serveru dostane.

Z těchto důvodu lze použít speciální parametr LoginTimeout v konfiguračním souboru HELIOS.INI, kterým lze tento timeout ručně prodloužit. Doporučuje se v případě potíží nastavit mezi 30-60.

Příklad parametru v HELIOS.INI:
Kód: Vybrat vše
LoginTimeout=30

[chyba] SQL Server Native Client 2005 nebyl nalezen

PříspěvekNapsal: 13.05.2010 08:50
od jiri.dolezal
Program při startu, po příhlášení, kontroluje na lokální stanici větev v registrech HKEY_CLASSES_ROOT\SQLNCLI.1 (hledá GUID SQL Native Clienta). Pokud větev neexistuje nebo jsou v registrech omezena práva, vyhodnotí to jakoby nebyl NCLI naintalován a nabízí instalaci stále dokola. Po proběhnutí instalace pak končí výše uvedenou chybovou hláškou.

Řešení: zajistit existenci (odinstalovat/naintalovat NCLI) a přístup k příslušné větvy v registrech

SQLNCLI_nenalezen.gif
SQL Server Native Client 2005 nebyl nalezen
SQLNCLI_nenalezen.gif (4.53 KiB) Zobrazeno 37554 krát

Re: [SQL:-1,16] SQL Network Interfaces: Error getting enabled ..

PříspěvekNapsal: 12.08.2011 09:24
od jiri.dolezal
Stává se, že při odinstalování, smazání větve z registrů a opětovné instalaci stále Helios Orange při spuštění hlásí:

[SQL:-1,16] SQL Network Interfaces: Error getting enabled protocols list from registry [xFFFFFFFF].

Řešení je vejít přímo do větve HKLM\Software\Microsoft\MSSQLServer\Client\SNI9.0 ná řádek ProtocolOrder a zadat hodnoty následovně:

Reg_SNI90_ProtocolOrder.gif
Reg_SNI90_ProtocolOrder.gif (11.1 KiB) Zobrazeno 35405 krát

[chyba] TCP Provider: Nemohlo být vytvořeno žádné připojení.

PříspěvekNapsal: 18.07.2013 09:04
od jiri.dolezal
Při připojení z klientské stanice na vzdálenou instanci MS SQL Serveru se můžete setkat s následující hláškou:

TCP Provider: Nemohlo být vytvořeno žádné připojení, protože cílový počítač je aktivně odmítl.
resp.
TCP Provider: No connection could be made because the target machine actively refused it

Informace k možnému řešení naleznete např. v následujících článcích:
http://blogs.msdn.com/b/sql_protocols/archive/2007/07/19/tcp-provider-no-connection-could-be-made-because-the-target-machine-actively-refused-it.aspx
http://blogs.msdn.com/b/sql_protocols/a ... 06607.aspx

Problém s připojením k pojmenované instanci

PříspěvekNapsal: 06.08.2014 13:21
od jiri.dolezal
Při snaze o připojení k pojmenované instanci (tj. ne výchozí) může docházet chybě SQL Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF]. i když je vše korektně nastaveno (FireWall, běží SQL Server Browser, apod.).

Nefunguje žádná z tradičních variant názvu serveru:
<nazev serveru>\<název instance>
<IP adresa serveru>\<název instance>
np:<nazev serveru>\<název instance>
tcp:<IP adresa serveru>\<název instance>

Problém může být, ve službě MS SQL Server Browser. Ta zajišťuje překlad <názvu instance> na TCP/IP port (dynamický), na kterém běží. Služba komunikuje přes UDP protokol na portu 1434 a tato komunikace je blokována. Takové blokování může způsobovat router (viz. zde).

Řešení:
- povolit UDP na routeru
- když nepomůže - změnit dynamický port na statický a připojovat se k serveru variantou řetězce <IP adresa serveru>,<číslo portu>, resp. tcp:<IP adresa serveru>,<číslo portu>