Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Használja ezt a cikket, hogy találj hibahiba-keresési mssql-python útmutatót a vezetőhöz. Kezdd azzal a tünettel vagy hibaüzenettel, ami megfelel a problémádnak.
Telepítési problémák
A pip telepítése meghibásodik vagy forrásból épít
A nem támogatott Python verziók, hiányzó kerekek, inaktív virtuális környezetek és hiányzó Linux könyvtárak esetén lásd: Hibakeresés telepítési és kapcsolati problémák.
Ellentmondó illesztőprogram-telepítések
Ha importálási hibák vagy váratlan működés tapasztalható, amikor a(z) mssql-python és a(z) pyodbc együtt vannak telepítve, lásd: Telepítési és csatlakozási problémák elhárítása.
Kapcsolódási problémák
Nem tudok csatlakozni a szerverhez
Az SQLSTATE08001, elérhetetlen szerverek, leállított szolgáltatások és Azure SQL tűzfal szabályai esetén lásd: Hibakeresés telepítési és kapcsolódási problémák.
A bejelentkezés sikertelen
Az SQLSTATE 28000, a hitelesítési mód eltérései, az érvénytelen hitelesítő adatok és a hiányzó adatbázis-felhasználók esetén lásd a Telepítési és csatlakozási problémák elhárítása című témakört.
Kapcsolati időkorlát
SQLSTATE HYT00 vagy HYT01, hálózati késleltetés, lassú szerverek és kapcsolati időtúllépés beállítások esetén lásd: Hibakeresés telepítési és kapcsolati problémák.
SSL-tanúsítványhibák
A nem megbízható tanúsítványhibák és biztonságos helyi fejlesztési lehetőségek esetén lásd: Hibakeresés telepítési és csatlakozási problémák.
Lekérdezés végrehajtási problémái
A tábla vagy objektum nem található
Az SQLSTATE 42S02, adatbázis-kontextus, séma minősítés és tábla-létellenőrzések esetén lásd: Keresés-, adat- és működési problémák hibaelhárítása.
Szintaxishiba
Az SQLSTATE 42000, az SQL-szintaxis, a karakterláncok escape-elése és a paraméterezett lekérdezések kapcsán lásd: Lekérdezési, adat- és műveleti problémák elhárítása.
Paraméterhibák
Az SQLSTATE 07001, a helyőrzők száma és a támogatott paraméterstílusok kapcsán lásd a következőt: Lekérdezési, adat- és műveleti problémák elhárítása.
Adattípus-problémák
Dátumidő-átalakítási hibák
Az SQLSTATE 22007 és datetime paraméterek átalakításáért lásd: Hibakeresés, adat és működési kérdések.
Tizedes pontossági problémák
A levágott vagy lekerekített tizedes értékek esetében lásd : Keresés-, adat- és működési problémák hibakeresése.
Unicode kódolási problémák
A zavaros speciális karakterek és Unicode oszloptípusok esetén lásd: Hibakeresés, lekérdezés, adat és működési problémák.
Teljesítménnyel kapcsolatos problémák
Lassú lekérdezés végrehajtása
Az indexelés, nagy eredményhalmazok és kapcsolat poolingolás esetén lásd: Hibakeresés, lekérdezés, adat és működési problémák.
Memóriaproblémák nagy méretű eredmények esetén
A nagy eredményhalmazok streamelése és oldalazása esetén lásd: Hibakeresés, lekérdezés, adat és működési problémák.
Tranzakciós problémák
Ideiglenes táblák hatóköre automatikus véglegesítés mellett
A visszagörgetés után eltűnő ideiglenes táblákról és DDL utasításokról, amelyek automatikus commitet igényelnek, lásd: Keresés, adat és működési problémák hibaelhárítása.
Nem végrehajtott tranzakció
Az adatváltozások esetén, amelyek a kapcsolat záródása után nem maradnak fenn, lásd: Hibakeresés, adat és működési problémák.
Holtzárhibák
Az SQLSTATE 40001, az újrapróbálkozás útmutatása és az ismétlődő holthelyzet elemzése esetén lásd: Keresés-, adat- és működési problémák hibakeresése.
Tömegterhelési problémák
Korlátok megsértése tömegmásolás során
Elsődleges kulcs, egyedi, ellenőrzés vagy külföldi kulcs megsértésekhez a tömeges másolás során lásd: Hibakeresés, lekérdezés, adat és működési problémák.
Oszlopleképezési hibák
A tömeges másolás során fellépő, az oszlopok számával és sorrendjével kapcsolatos eltérésekről lásd: Lekérdezési, adat- és műveleti problémák elhárítása.
Típusütközések tömeges másolás során
A tömeges másolás után lerövidített, lekerekített vagy helytelen értékek esetén lásd: Hibakeresés, adat és működési kérdések.
NumPy típusú kötési hibák
NumPy egész szám- vagy lebegő-típusú paraméterkötési hibákról lásd: Keresés-, adat- és műveleti problémák hibakeresése.
Bulkcopy ideiglenes táblázatokkal
A(z) Invalid object name hibáival kapcsolatban, amikor a(z) bulkcopy() elemet egy munkamenethez tartozó ideiglenes táblával használja, lásd: Lekérdezési, adat- és műveleti problémák elhárítása.
Konténer- és CI problémák
Hiányzó rendszerkönyvtárak Linuxon
A Linux-környezetekben hiányzó libltdl vagy Kerberos könyvtárak esetén lásd a Telepítési és kapcsolati problémák elhárítása című részt.
macOS SSL hibák telepítés után
SSL-lel kapcsolatos hibák esetén macOS rendszeren, beleértve az Apple chipes Mac gépeket is, lásd: A telepítési és csatlakozási problémák elhárítása.
Diagnosztikai eszközök
Illesztőprogram-naplózás engedélyezése
A DEBUG naplózás engedélyezéséhez használd a mssql_python.setup_logging()-t. A meghajtó naplózza az SQL utasításokat, paramétereket, belső ODBC műveleteket és a kapcsolati állapotváltozásokat.
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")
A naplófájlok CSV formátumot használnak, és automatikusan forognak 512 MB-nál öt biztonsági mentéssel. Az illesztőprogram érzékeny adatokat, például jelszavakat és hozzáférési tokeneket fertőtlenít a napló kimenetében.
Az alkalmazás bejegyzések hozzáadásához a drivernaplóhoz a következőket használjuk 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
A naplózás teljesítményterheléssel jár. Csak akkor kapcsold be, ha hibakeresést végezel. Ne engedélyezd alapértelmezés szerint a gyártásban.
Sofőrinformációk
A meghajtó verzió és a szerver adatai előhívása egy aktív kapcsolatról:
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)}")
Kapcsolat állapotának ellenőrzése
Futtass egy könnyűbb lekérdezést, hogy teszteld, nyitva van-e egy kapcsolat:
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")
Gyors hivatkozás: Gyakori hibák
| Hiba | SQLSTATE | Közös ok | Hibaelhárítás |
|---|---|---|---|
| Az ügyfél nem tudja kapcsolatot teremteni | 08001 |
A kiszolgáló nem érhető el | Nem tudok csatlakozni a szerverhez |
| A bejelentkezés sikertelen | 28000 |
Helytelen hitelesítő adatok | Bejelentkezés sikertelen |
| Időtúllépés történt |
HYT00 vagy HYT01 |
Lassú hálózat | Kapcsolat időkorlátja |
| Érvénytelen objektumnév | 42S02 |
Hibás táblázat vagy séma | Tábla vagy objektum nem található |
| Szintaxishiba | 42000 |
SQL hiba | Szintaktishiba |
| Kényszer megsértése | 23000 |
Idegen kulcs vagy elsődleges kulcs megsértése | Korlátok megsértése tömegmásolás során |
| Holtzár | 40001 |
Zárolási ütközés | Holtponti hibák |