Connect to SQL Server Express Database with Python (Windows Authentication)
Asked Answered
G

2

9

I've got a Java Program connected to my SQLServer Express Database. The code I used to connect is:

Connection con = null;
try {   
    String url = "jdbc:sqlserver://GANESHA\\SQLEXPRESS:1434;databaseName=4YP;integratedSecurity=true";
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    con = DriverManager.getConnection(url);
}

I have since decided to use Python instead but can't seem to get it to connect to my database. The code I've been using is:

import pyodbc

con_str = (
    r'Driver = {SQL SERVER};'
    r'Server = .\GANESHA;'
    r'Database = 4YP;'
    r'TrustedConnection = yes;'
)
cnxn = pyodbc.connect(con_str)

The error I'm getting is: "pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')"

Guarino answered 1/12, 2016 at 14:31 Comment(0)
G
10

I got it to work using the following approach:

import pyodbc

con = pyodbc.connect(Trusted_Connection='yes', driver = '{SQL Server}',server = 'GANESHA\SQLEXPRESS' , database = '4YP')
Guarino answered 1/12, 2016 at 14:47 Comment(1)
That's how I did it tooDrub
D
3

Try using this approach:

import pyodbc
cnxn = pyodbc.connect(r'Driver={SQL Server};Server=myServer;Database=myDB;Trusted_Connection=yes;')
cursor = cnxn.cursor()
cursor.execute("SELECT * FROM myTable")
while 1:
    row = cursor.fetchone()
    if not row:
        break
    print(row.myColumnName)
cnxn.close()
Drub answered 1/12, 2016 at 14:43 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.