Hi!
Gibt es eine Möglichkeit von meinem Rasperry aus auf einen MS SQL Server zuzugreifen?
Ich hab jetzt schon einige Zeit im Internet gesucht, allerdings noch nichts brauchbares gefunden.
MfG Bernd
Hi!
Gibt es eine Möglichkeit von meinem Rasperry aus auf einen MS SQL Server zuzugreifen?
Ich hab jetzt schon einige Zeit im Internet gesucht, allerdings noch nichts brauchbares gefunden.
MfG Bernd
Zugriff auf MS-SQL Server? Schau mal ob du hier fündig wirst!
Ja warum soll das nicht gehen? Wo ist denn der Server? Erlaubt der Server Zugriffe von extern. wie möchtest du darauf zugreifen?
Folgendes Szenario:
Rasperry Pi soll auf einen MS-SQL Server 2008, der auf einem Windows Server 2008 R2 läuft eine SP ausführen.
Wie ist mir eigentlich egal. Ob das Mit C, Perl oder was auch immer passiert.
MfG
Womit der Zugriff erfolgt ist egal - ich persönlich würde PHP bevorzugen..
Wichtig ist aber das zum einen die Windows Firewall Verbindungen rein lässt und der MS-SQL entsprechend konfiguriert ist:
Click on Start button in Windows. Go to All Programs -> Microsoft SQL Server 2008 -> Configuration Tools -> SQL Server Configuration Manager
Click on SQL Native Client 10.0 Configuration -> Client Protocols -> TCP/IP double click ( Right click select Properties ) on TCP/IP
You will find Default Port 1433
Quelle:
http://stackoverflow.com/questions/1518…sql-server-2008
http://support.microsoft.com/kb/287932/de
http://blog.alexonasp.net/post/2011/03/0…Verbindung.aspx
Ok, hier mal ein Beispiel für python
Zuerst pymsql downloaden und installieren
import _mssql
def con_sql():
try:
conn =_mssql.connect(server='SERVERNAME', user='USERNAME',
password='PASSWORD', database ='DATABSE')
return conn
except:
return None
conn=con_sql()
conn.execute_query("SELECT SOME FROM SOMEWHERE")
Alles anzeigen
Die Doku gibt es hier
Gibts da auch was für Perl? Wäre mir persönlich lieber...
Eine suche nach "perl mssql" brachte u.a. das hier zu tage.
*hust* ist das dein Ernst?
perl gibts nicht nur für x86 sondern natürlich auch für arm
Was du brauchst sind die entsprechenden perl Module um das nutzen zu können - das ist unabhängig von der Architektur (x86/x64/arm usw)
Aber wenn du das nicht hin kriegst musste halt was anderes nutzen - wie immer gibts hier etliche Wege die man nutzen kann, angefangen bei den verschiedenen Programmiersprachen:
Welche du davon letzlich nutzt bleibt natürlich dir überlassen
Für bash gäbe es: http://www.billyshaw.com/2012/09/28/query-mssql-from-bash/
Für php gäbe es: http://php.net/manual/de/book.mssql.php
Für tcl gäbe es: http://sourceforge.net/projects/tclodbc/
usw
Google Suche nach "perl mssql raspberry" zweiter Treffer - der hat das ja auch mit den Easysoft ODBC drivers hingekriegt..
Richtiges perl Module installieren, perl Script anlegen
#!/usr/bin/perl -w
use DBI;
my $host = '192.168.0.200';
my $database = 'db';
my $user = 'bla';
my $pass = 'blub';
my $dsn = "dbi:ODBC:Driver={SQL Server};Server=$host;Database=$database";
my $dbh = DBI->connect($dsn, $user, $pass, { RaiseError => 1 });
# .... work with the handle
$dbh->disconnect;
Alles anzeigen
(natürlich noch entsprechendes anpassen) und ausführen
*hust* ist das dein Ernst?perl gibts nicht nur für x86 sondern natürlich auch für arm
Das stimmt. Perl ist Plattformunabhängig, aber der Link, den dbv gepostet hat, ist ein ODBC-Binding. Das stellt Perl Module zur verfügung. Aber die Datei, die man da runter lädt, sind irgendwelche Libs (*.so).
Und meines wissens sind diese durchaus Plattformgebunden.
Ich hab jetzt eine Lösung gefunden. Wenn mans weiß, ist es eh leicht
Zuerst
Dann in der /etc/freetds/freetds.conf
Und dann kann man mit Perl eine Connection aufbauen.
use DBI;
my $dbh = DBI->connect('dbi:Sybase:Server=DSN-Name;database=Test', 'username', 'password');
Hier muss nach Server das gleiche stehen, wie oben in der freetds.conf.
Danke für eure Benühungen. Bis zum nächsten mal.
MfG
Eine Lösung stand bereits oben in Post#10 von dbv
also:
und in Post#11 ein Beispielscript von mir
Perl Alles anzeigen#!/usr/bin/perl -w use DBI; my $host = '192.168.0.200'; my $database = 'db'; my $user = 'bla'; my $pass = 'blub'; my $dsn = "dbi:ODBC:Driver={SQL Server};Server=$host;Database=$database"; my $dbh = DBI->connect($dsn, $user, $pass, { RaiseError => 1 }); # .... work with the handle $dbh->disconnect;
(natürlich noch entsprechendes anpassen) und ausführen
Ja... Damit hab ich es jetzt nicht hin bekommen. Weiß nicht warum. Aber trotzdem Danke.
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!