Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Använd den här artikeln för att hitta felsökningsvägledning för föraren mssql-python . Börja med symtomet eller felmeddelandet som matchar ditt problem.
Installationsproblem
Pip-installationen misslyckas eller byggs från källkoden
För icke-stödda Python-versioner, saknade hjul, inaktiva virtuella miljöer och saknade Linux-bibliotek, se Felsökning av installations- och anslutningsproblem.
Motstridiga installationer av drivrutiner
För importfel eller oväntat beteende när mssql-python och pyodbc installeras tillsammans, se Felsökning av installations- och anslutningsproblem.
Anslutningsproblem
Kan inte ansluta till servern
För SQLSTATE08001, oåtkomliga servrar, avbrutna tjänster och Azure SQL-brandväggsregler, se Felsökning av installations- och anslutningsproblem.
Inloggningen misslyckades
För SQLSTATE 28000, autentiseringslägen som inte matchar, ogiltiga inloggningsuppgifter och saknade databasanvändare, se Felsökning av installations- och anslutningsproblem.
Tidsgräns för anslutning
För SQLSTATE HYT00 eller HYT01, nätverkslatens, långsamma servrar och anslutningstidsinställningar, se Felsökning av installations- och anslutningsproblem.
SSL-certifikatfel
För fel med ej betrodda certifikat och säkra alternativ för lokal utveckling, se Felsök installation och anslutningsproblem.
Problem med frågeexekvering
Tabell eller objekt hittades ej
För SQLSTATE 42S02-, databaskontext-, schema-kvalificering och tabellexistenskontroller, se Felsökning, data- och operationsfrågor.
Syntaxfel
För SQLSTATE 42000, SQL-syntax, strängeescape och parameteriserade frågor, se Felsökning av frågor, data och operationer.
Parameterfel
För SQLSTATE07001, platshållarantal och stödda parameterstilar, se Felsökning av frågor, data och driftproblem.
Datatypproblem
Fel vid konvertering av datum och tid
För SQLSTATE22007- och datetime-parameterkonvertering, se Felsökning av frågor, data och driftproblem.
Decimalprecisionsproblem
För avkortade eller avrundade decimalvärden, se Felsök frågor, data och åtgärdsproblem.
Unicode-kodningsproblem
För osammanhängande specialtecken och Unicode-kolumntyper, se Felsökningsfrågor, data och funktionsfrågor.
Prestandaproblem
Långsam frågeexekvering
För indexering, stora resultatuppsättningar och anslutningspoolning, se Felsökning av frågor, data och funktionsfrågor.
Minnesproblem med stora resultat
För strömning och paginering av stora resultatuppsättningar, se Felsökning av frågor, data och driftfrågor.
Transaktionsproblem
Temporär tabellscoping med autocommit
För temporära tabeller som försvinner efter rollback och DDL-satser som kräver autocommit, se Felsökning av frågor, data och operationer.
Transaktion som inte är genomförd
För dataändringar som inte kvarstår efter att anslutningen stängts, se Felsökning, data och funktionsfrågor.
Dödlägesfel
För SQLSTATE 40001, återförsöksguider och återkommande deadlock-analys, se Felsökning av frågor, data och driftfrågor.
Bulklastproblem
Begränsningsbrott under bulkkopiering
Information om överträdelser av primärnycklar, unika begränsningar, kontrollvillkor eller främmande nycklar vid bulkkopiering finns i Felsöka frågor, data och åtgärdsproblem.
Fel vid kolumnmappning
Information om problem vid masskopiering där antalet kolumner eller kolumnordningen inte stämmer finns i Felsöka frågor, data och åtgärdsproblem.
Typkonflikter vid bulkkopiering
För avkortade, avrundade eller felaktiga värden efter masskopiering, se Felsöka frågor, data och åtgärdsproblem.
Bindningsfel av NumPy-typ
För parameterbindningsfel med NumPy-heltals- eller flyttalstyper, se Felsökning av frågor, data och funktionsfrågor.
Bulkkopiering med tillfälliga tabeller
För Invalid object name fel när du använder bulkcopy() med en sessionstillfällig tabell, se Felsökning av frågor, data och driftproblem.
Container- och CI-problem
Saknade systembibliotek på Linux
För saknade libltdl eller Kerberos-bibliotek i Linux-miljöer, se Felsökning av installations- och anslutningsproblem.
macOS SSL-fel efter installation
För SSL-relaterade fel på macOS, inklusive Apple Silicon, se Felsökning av installations- och anslutningsproblem.
Diagnosverktyg
Aktivera drivrutinsloggning
Använd mssql_python.setup_logging() för att aktivera DEBUG-loggning. Drivrutinen loggar SQL-satser, parametrar, interna ODBC-operationer och förändringar i anslutningstillstånd.
import mssql_python
# Enable logging to file (default)
mssql_python.setup_logging()
# Output to stdout (useful for CI/CD and containers)
mssql_python.setup_logging(output="stdout")
# Output to both file and stdout
mssql_python.setup_logging(output="both")
# Custom log file path (must use .txt, .log, or .csv extension)
mssql_python.setup_logging(log_file_path="/var/log/myapp/mssql.log")
Loggfiler använder CSV-format och roterar automatiskt vid 512 MB med fem säkerhetskopior. Drivrutinen sanerar känslig data som lösenord och åtkomsttokens i loggutdata.
För att lägga till applikationsposter i drivrutinsloggen, använd driver_logger:
import mssql_python
from mssql_python.logging import driver_logger
mssql_python.setup_logging()
driver_logger.debug("[App] Starting data processing")
driver_logger.error("[App] Failed to process record")
Caution
Loggning medför prestandapåverkan. Aktivera det endast när du felsöker ett problem. Aktivera det inte i produktion som standard.
Få information om föraren
Hämta drivrutinsversionen och serverdetaljer från en aktiv anslutning:
import mssql_python
conn = mssql_python.connect(connection_string)
print(f"Version: {mssql_python.__version__}")
print(f"Server name: {conn.getinfo(mssql_python.SQL_SERVER_NAME)}")
print(f"Database name: {conn.getinfo(mssql_python.SQL_DATABASE_NAME)}")
Kontrollera anslutningstillstånd
Kör en lättviktig fråga för att testa om en anslutning fortfarande är öppen:
import mssql_python
try:
cursor = conn.cursor()
cursor.execute("SELECT 1")
print("Connection is open")
except mssql_python.Error:
print("Connection is closed or broken")
Snabb referens: Vanliga fel
| Error | SQLSTATE | Vanlig orsak | Felsökning |
|---|---|---|---|
| Klient kan inte upprätta anslutning | 08001 |
Servern kan inte nås | Kan inte ansluta till servern |
| Inloggningen misslyckades | 28000 |
Felaktiga autentiseringsuppgifter | Inloggning misslyckades |
| Tidsgränsen har upphört att gälla |
HYT00 eller HYT01 |
Långsamt nätverk | Tidsgräns för anslutning |
| Ogiltigt objektnamn | 42S02 |
Felaktig tabell eller schema | Tabell eller objekt hittades ej |
| Syntaxfel | 42000 |
SQL-fel | Syntaxfel |
| Begränsningsfel | 23000 |
Främmande nyckel- eller primärnyckelöverträdelse | Begränsningsbrott under bulkkopiering |
| Dödläge | 40001 |
Låskonflikt | Dödlägesfel |