sql >> Databáze >  >> RDS >> Sqlserver

pyodbc se nemůže připojit k databázi

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



  1. Sloučit dva oddíly do jednoho v SQL Server (T-SQL)

  2. Počkejte na statistiky a úložiště dotazů

  3. Jak připravit výpis pro aktualizační dotaz?

  4. Jak spočítat počet výskytů znaku v hodnotě varchar Oracle?