ich versuche schon Tagelan vergeblich Daten eines SQL-Servers mir Python2.7 auszulesen.
Ich verwende einen RaspBerry.
Hier die Daten aus der OS
PRETTY_NAME="Raspbian GNU/Linux 7 (wheezy)"
NAME="Raspbian GNU/Linux"
VERSION_ID="7"
VERSION="7 (wheezy)"
ID=raspbian
ID_LIKE=debian
ANSI_COLOR="1;31"
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
Der Zugriff erfolgt auf einen sich im Netz befindlichen MS-SQL Server 2019
Hier mal das Script:
Code: Alles auswählen
#!/usr/bin/env python
#coding: utf-8
# *************************
from __future__ import absolute_import, division, print_function
import pymssql
conn = pymssql.connect(host='10.63.74.5', user="sa", password="xxxxxx",database= "Secure")
cursor = conn.cursor()
print("Tabelle anlegen")
cursor.execute("""
IF OBJECT_ID('MeineTabelle', 'U') IS NOT NULL
DROP TABLE MeineTabelle
CREATE TABLE MeineTabelle(
IDx INT NOT NULL,
Name VARCHAR(50),
Ort VARCHAR(20),
PRIMARY KEY(IDx)
)
""")
print("Tabelle angelegt - Daten einpflegen")
cursor.executemany(
"INSERT INTO MeineTabelle VALUES (%d, %s, %s)",
[(1, 'Alex Muster', 'Musterstadt'),
(2, 'Hans Tester', 'Testerstadt'),
(3, 'Max Mayer', 'Nirgendwoooo')])
conn.commit() # Speichern der Daten
cursor.execute('SELECT * FROM MeineTabelle')
row = cursor.fetchall()
print("Die eingegenben Daten ausgeben")
while row:
print(row[0], row[1], row[2])
row = cursor.fetchone()
Columns=[i[0] for i in cursor.description]
print("Ergebnis von Columns ausgeben" + str(Columns))
cursor.execute("Drop Table MeineTabelle")
print("Tabelle wieder entfernen und Connection schließen")
conn.close()
Code: Alles auswählen
Python 2.7.3 (default, Jun 22 2016, 03:14:32)
[GCC 4.6.3] on linux2
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
Tabelle anlegen
Tabelle angelegt - Daten einpflegen
Die eingegenben Daten ausgeben
Ergebnis von Columns ausgeben['IDx', 'Name', 'Ort']
Tabelle wieder entfernen und Connection schließen
>>>
Das gleiche Spiel habe ich mit _mssql durchgespielt. Es geht das gleiche wie mit pymssql. Auch hier bekomme ich keine Daten angezeigt.
die neuesen Versionen habe ich so installiert:
apt-get install python-pymssql
apt-get install freetds-dev
pip install pymssql
Ich hoffe ich habe in meinem Posting nichts vergessen. Ich bin mit sicherheit kein Python-Profi und bitte deshalb um Nachsicht. Das Script habe ich extra so hintereinander geschrieben um die Sache nicht zu verkomplizieren.
Vielleicht hat ja jemand einen Tipp fur mich?
Das Betriebssystem der Raspis geht nicht einfach zu wechseln. Es handelt sich hierbei um 15 RaspBerrys, welche an den verschiedensten Standorten verbaut sind. Das Script zu ändern, wäre aber kein Problem.
Gruß S3