J'ai juste besoin de lire une seule valeur d'une connection MS SQL Server 2008, mais je ne suis pas sûr de savoir comment faire cela. Voici le code
import pyodbc queryssortingng = """SELECT USER_NAME FROM sem6.sem_computer, [sem6].[V_SEM_COMPUTER], sem6.IDENTITY_MAP, sem6.SEM_CLIENT WHERE [sem6].[V_SEM_COMPUTER].COMPUTER_ID = SEM_COMPUTER.COMPUTER_ID AND sem6.SEM_CLIENT.GROUP_ID = IDENTITY_MAP.ID AND sem6.SEM_CLIENT.COMPUTER_ID = SEM_COMPUTER.COMPUTER_ID AND [IP_ADDR1_TEXT] = '10.10.10.10' """ con = pyodbc.connect('DRIVER={SQL Server};SERVER=10.10.10.100;DATABASE=databasename;UID=username;PWD=password') cur = con.cursor() cur.execute(queryssortingng) con.commit() con.close()
Vous devez récupérer le résultat après l'exécution de la requête. Voir PEP 249 pour savoir comment le dbapi l'expose.
Dans votre cas, username = cur.fetchone()[0]
fonctionnera.
Selon DB-API de python, vous devez faire fetchone pour récupérer la première ligne:
import pyodbc queryssortingng = """SELECT USER_NAME FROM sem6.sem_computer, [sem6].[V_SEM_COMPUTER], sem6.IDENTITY_MAP, sem6.SEM_CLIENT WHERE [sem6].[V_SEM_COMPUTER].COMPUTER_ID = SEM_COMPUTER.COMPUTER_ID AND sem6.SEM_CLIENT.GROUP_ID = IDENTITY_MAP.ID AND sem6.SEM_CLIENT.COMPUTER_ID = SEM_COMPUTER.COMPUTER_ID AND [IP_ADDR1_TEXT] = '10.10.10.10' """ con = pyodbc.connect('DRIVER={SQL Server};SERVER=10.10.10.100;DATABASE=databasename;UID=username;PWD=password') cur = con.cursor() cur.execute(queryssortingng) row = cur.fetchone() print(row[0]) con.close()