Script Python pour lire une valeur unique à partir de MS SQL Server 2008

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()