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