Jak se ukázalo, dotyčná databáze již byla připojena k výchozí instanci serveru SQL na místním počítači, takže vše, co bylo potřeba k připojení, bylo
import pyodbc
conn_str = (
r"Driver={SQL Server Native Client 11.0};"
r"Server=(local);"
r"Database=online_banking;"
r"Trusted_Connection=yes;"
)
conn = pyodbc.connect(conn_str)
Byly tam dva hlavní body zmatku:
O:Jaký je název "výchozí instance" serveru SQL Server?
Odpověď:Nemá žádný.
Při odkazování na instanci SQL Server jménem výchozí instance prostě jde o název počítače, zatímco pojmenovaná instance je identifikován pomocí MachineName\InstanceName . Tedy na serveru s názvem PANORAMA
- Pokud nainstalujeme "výchozí instanci" serveru SQL Server, nazýváme ji
PANORAMA. - Pokud nainstalujeme "pojmenovanou instanci" s názvem "SQLEXPRESS", budeme ji označovat jako
PANORAMA\SQLEXPRESS.
Pokud odkazujeme na instanci SQL serveru na místním počítači, můžeme použít (local) místo PANORAMA .
O:Znamená (local) a (localdb) totéž?
A:NE.
(local) a (local)\InstanceName viz "skutečné" serverové instance serveru SQL Server. Toto jsou instance, které existují od prvního vydání SQL Serveru. Běží jako služba a jsou schopny přijímat síťová připojení a dělat všechny věci, které očekáváme od databázového serveru.
(localdb) a (localdb)\InstanceName reference – pomocí (localdb) obvykle velkými písmeny jako (LocalDB) pro přehlednost – slouží k připojení k instancím „SQL Server LocalDB“. Jedná se o dočasné lokální instance SQL Server primárně určené pro vývojáře. Podrobnosti naleznete v následujícím příspěvku na blogu MSDN:
SQL Express v LocalDB v SQL Compact Edition