Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

pyodbc nie może połączyć się z bazą danych

Jak się okazuje, omawiana baza danych była już podłączona do domyślnej instancji SQL Server na lokalnym komputerze, więc do połączenia wystarczyło tylko

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)

Były dwa główne punkty nieporozumień:

P:Jaka jest nazwa „domyślnej instancji” SQL Server?

O:Nie ma.

Odwołując się do instancji SQL Server według nazwy, instancja domyślna po prostu występuje pod nazwą maszyny, podczas gdy nazwana instancja jest identyfikowany przez MachineName\InstanceName . Tak więc na serwerze o nazwie PANORAMA

  • Jeśli zainstalujemy „domyślną instancję” SQL Server, nazywamy ją PANORAMA .
  • Jeśli zainstalujemy „nazwaną instancję” o nazwie „SQLEXPRESS”, nazywamy ją PANORAMA\SQLEXPRESS .

Jeśli mówimy o instancji serwera SQL na komputerze lokalnym, możemy użyć (local) zamiast PANORAMA .

P:Czy (local) i (localdb) oznaczają to samo?

O:NIE.

(local) i (local)\InstanceName odnoszą się do „prawdziwych” wystąpień SQL Server opartych na serwerze. Są to instancje, które istnieją od czasu pierwszego wydania programu SQL Server. Działają jako usługa i są w stanie akceptować połączenia sieciowe i robić wszystkie rzeczy, których oczekujemy od serwera bazy danych.

(localdb) i (localdb)\InstanceName referencje – z (localdb) zwykle pisane wielką literą jako (LocalDB) dla jasności – służą do łączenia się z instancjami „SQL Server LocalDB”. Są to tymczasowe lokalne instancje SQL Server przeznaczone głównie dla deweloperów. Szczegółowe informacje można znaleźć w następującym poście na blogu MSDN:

SQL Express v LocalDB v SQL Compact Edition



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Najszybszy sposób wykonywania zagnieżdżonych wstawek zbiorczych z użyciem scope_identity()?

  2. Różnica między lewym i prawym złączeniem w SQL Server

  3. Jak przekonwertować ciąg na datę/godzinę w SQL Server za pomocą PARSE()

  4. newid() wewnątrz funkcji serwera sql

  5. Uzyskanie minimum dwóch wartości w SQL