Witam
Chciałem się połączyć z bazą sql i odczytać zapytaniem sql oto kod:
import mysql.connector
connection = mysql.connector.connect(user='sa',password='haslo3', host='10.9.12.2', database='BAZA1', auth_plugin='mysql_native_password')
query = 'SELECT * FROM GARNEK'
coursor = connection.cursor()
coursor.execute(query)
for row in coursor:
print(row)
Dostaje:
Traceback (most recent call last):
File "E:\Program Files\Python311\Lib\site-packages\mysql\connector\network.py", line 509, in open_connection
self.sock.connect(sockaddr)
TimeoutError: [WinError 10060] Próba połączenia nie powiodła się, ponieważ połączona strona nie odpowiedziała poprawnie po ustalonym okresie czasu lub utworzone połączenie nie powiodło się, ponieważ połączony host nie odpowiedział
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "e:\CODE\coscos.py", line 3, in <module>
connection = mysql.connector.connect(user='sa',password='haslo3', host='10.9.12.2', database='BAZA1', auth_plugin='mysql_native_password')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\Program Files\Python311\Lib\site-packages\mysql\connector\__init__.py", line 179, in connect
return MySQLConnection(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\Program Files\Python311\Lib\site-packages\mysql\connector\connection.py", line 95, in __init__
self.connect(**kwargs)
File "E:\Program Files\Python311\Lib\site-packages\mysql\connector\abstracts.py", line 716, in connect
self._open_connection()
File "E:\Program Files\Python311\Lib\site-packages\mysql\connector\connection.py", line 206, in _open_connection
self._socket.open_connection()
File "E:\Program Files\Python311\Lib\site-packages\mysql\connector\network.py", line 511, in open_connection
raise errors.InterfaceError(
mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on '10.9.12.2:3306' (10060 Próba połączenia nie powiodła się, ponieważ połączona strona nie odpowiedziała poprawnie po ustalonym okresie czasu lub utworzone połączenie nie powiodło się, ponieważ połączony host nie odpowiedział)
Z tą bazą bez problemu łącze się przez excela jest to baza pewnego programu
Wcześniej próbowałem też w taki sposób:
import pyodbc
cnx = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=10.9.12.2;DATABASE=BAZA1;UID=sa;PWD=haslo3')
cursor = cnx.cursor()
query = "SELECT * FROM GARNEK WHERE date = CURDATE()"
cursor.execute(query)
result = cursor.fetchall()
for row in result:
print(row)
cnx.close()
A tu dostaje:
Traceback (most recent call last):
File "e:\CODE\pol-baza.py", line 6, in <module>
cnx = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=10.9.12.2;DATABASE=BAZA1;UID=sa;PWD=haslo3')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pyodbc.InterfaceError: ('IM002', '[IM002] [Microsoft][Menedżer sterowników ODBC] Nie można odnaleźć nazwy źródła danych, a nie ma podanego sterownika domyślnego (0) (SQLDriverConnect)')
Skoro excel się łączy czy jest jakiś sposób żeby ustalić jaką metodą to robi i wykorzystać to w pythonie?
Proszę o pomoc