Ansluta till Sql Express med Python?

Trädvy Permalänk
Medlem
Plats
Malmö
Registrerad
Okt 2007

Ansluta till Sql Express med Python?

Jag försöker skriva ett program i Python som ska ansluta till en Sql Express 2008 server och hämta data. Jag kan ansluta till den via programmet HeidiSQL men när jag försöker använda följande python program så går det inte.

import MySQLdb db = MySQLdb.connect("192.168.2.149","användarnamn","lösenord","databas" ) cursor = db.cursor() cursor.execute("SELECT VERSION()") data = cursor.fetchone() print "Database version : %s " % data db.close()

När jag kör ovanstående får jag detta till svar:

Traceback (most recent call last): File "sqltest.py", line 3, in <module> db = MySQLdb.connect("192.168.2.149","användarnamn","lösenord","databas" ) File "C:\Python27\lib\site-packages\MySQLdb\__init__.py", line 81, in Connect return Connection(*args, **kwargs) File "C:\Python27\lib\site-packages\MySQLdb\connections.py", line 187, in __init__ super(Connection, self).__init__(*args, **kwargs2) _mysql_exceptions.OperationalError: (2003, "Can't connect to MySQL server on '192.168.2.149' (10061)")

Någon idé vad som kan vara fel?

Trädvy Permalänk
Medlem
Plats
Linköping
Registrerad
Okt 2007

Att du använder MySQLdb (detta är till mysql) för att ansluta till en mssql server prova med pymssql eller pyodbc

Trädvy Permalänk
Medlem
Plats
Malmö
Registrerad
Okt 2007

Tack, det löste sig när jag valde pyodbc istället. Nu fick jag dock ett litet annat problem, om jag väljer att skriva ut kolumner som innehåller svenska tecken så får jag till svar att "SyntaxError: Non-ASCII character '\xc3' in file sqltest.py on line 4, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details".
Någon som vet hur man löser detta enklast?

Trädvy Permalänk
Medlem
Registrerad
Aug 2010

@Tallrot:
efter:
#!/usr/bin/python
skriv:
# coding: utf-8

Every time I see some piece of medical research saying that caffeine is good for you, I high-five myself. Because I'm going to live forever.
~ Linus Torvalds (2010-08-03)