Access
 sql >> Datenbank >  >> RDS >> Access

Datenzugriff von Raspberry Pi

Wenn Sie von Raspberry Pi aus auf eine Datenbank zugreifen müssen, können Sie entweder eine für diese Plattform verfügbare verwenden (z. B. MySQL / MariaDB, PostgreSQL und MongoDB) oder remote darauf zugreifen. Easysoft ODBC-Treiber ermöglichen es Ihren Pi-Anwendungen, sich sowohl mit lokalen als auch mit entfernten Datenbanken zu verbinden. Beispielsweise könnten Sie den SQL Server-ODBC-Treiber verwenden, um Python auf Pi mit SQL Server unter Windows (oder in der Azure Cloud oder unter Linux, wenn Sie diese Plattformen verwenden) zu verbinden. Die Schritte dafür sind wie folgt:

  1. Laden Sie den SQL Server ODBC-Treiber für Raspberry Pi herunter. (Anmeldung erforderlich.)
  2. Installieren und lizenzieren Sie den SQL Server ODBC-Treiber auf dem Raspberry Pi-Computer.

    Installationsanweisungen finden Sie in der ODBC-Treiberdokumentation.

    Hinweis Sie müssen den unixODBC-Treibermanager auf Ihrem Computer installieren. Die Easysoft-Distribution enthält eine Version des unixODBC-Treibermanagers, mit dem der Easysoft SQL Server-ODBC-Treiber getestet wurde. Das Setup-Programm des Easysoft-Treibers bietet Ihnen die Möglichkeit, unixODBC zu installieren.

  3. Erstellen Sie eine ODBC-Datenquelle in /etc/odbc.ini, die eine Verbindung zu der SQL Server-Datenbank herstellt, auf die Sie von Python aus zugreifen möchten. Beispiel:
    [SQLSERVER_SAMPLE]
    Driver          = Easysoft ODBC-SQL Server
    Server          = my_machine\SQLEXPRESS
    User            = my_domain\my_user
    Password        = my_password
    # If the database you want to connect to is the default
    # for the SQL Server login, omit this attribute
    Database        = Northwind
    
  4. Verwenden Sie isql, um die neue Datenquelle zu testen. Beispiel:
    cd /usr/local/easysoft/unixODBC/bin
    ./isql.sh -v SQLSERVER_SAMPLE
    

    Geben Sie an der Eingabeaufforderung „help“ ein, um eine Liste mit Tabellen anzuzeigen. Drücken Sie zum Beenden die Eingabetaste in einer leeren Eingabeaufforderungszeile.

    Wenn Sie keine Verbindung herstellen können, lesen Sie diesen Artikel und die Knowledge Base für SQL Server-ODBC-Treiber, um Unterstützung zu erhalten.

  5. Installieren Sie jetzt pyodbc, die ODBC-Schnittstelle, die es Ihnen ermöglicht, von Python aus auf eine ODBC-Datenbank zuzugreifen:
    sudo apt-get install python-pyodbc
  6. Um die Installation zu testen, rufen Sie einige SQL Server-Daten aus einer Python-Shell ab:
    pi@raspberrypi:~ $ python
    Python 2.7.13 (default, Jan 19 2017, 14:48:08)
    [GCC 6.3.0 20170124] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import pyodbc
    >>> cnxn = pyodbc.connect("DSN=SQLSERVER_SAMPLE")
    >>> cursor = cnxn.cursor()
    >>> cursor.tables()
    <pyodbc.Cursor object at 0x76a168a8>
    >>> rows = cursor.fetchall()
    >>> for row in rows:
    ...      print row.table_name
    ...
    sysmatrixageforget
    GEMS_DEPENDENTS_STAGING2
    GEMS_DEPENDENTS_STAGING2
    MSreplication_options
    oinsert
    spt_fallback_db
    spt_fallback_dev
    spt_fallback_usg
    spt_monitor
    >>>
    

Alternativ, wenn Sie Perl bevorzugen:

pi@raspberrypi:~ $ sudo apt-get install libdbi-perl
	pi@raspberrypi:~ $ wget http://search.cpan.org/CPAN/authors/id/M/MJ/MJEVANS/DBD-ODBC-1.56.tar.gz
pi@raspberrypi:~ $ tar -xvf DBD-ODBC-1.56.tar.gz
pi@raspberrypi:~ $ cd DBD-ODBC-1.56
pi@raspberrypi:~ $ export DBI_DSN='dbi:ODBC:SQLSERVER_SAMPLE'
pi@raspberrypi:~ $ DBI_USER='mydb_user'
pi@raspberrypi:~ $ DBI_PASS='mydb_password'
pi@raspberrypi:~ $ perl Makefile.PL
pi@raspberrypi:~ $ make
pi@raspberrypi:~ $ make test
pi@raspberrypi:~ $ sudo make install
pi@raspberrypi:~ $ vi perl-test.pl
#!/usr/bin/perl -w

use strict;

use DBI;

my $dbh = DBI->connect( "dbi:ODBC:SQLSERVER_SAMPLE", "mydb_user", "mydb_password" , {
    RaiseError => 1
} );

my $sth = $dbh->table_info();

while ( my ( $qualifier, $owner, $name, $type, $remarks ) = 
        $sth->fetchrow_array() ) {

    foreach ($qualifier, $owner, $name, $type, $remarks) {
        $_ = '' unless defined $_;
    }
    print "$qualifier, $owner, $name, $type, $remarks \n";

}

exit;
pi@raspberrypi:~ $ perl ./perl-test.pl
master, dbo, sysmatrixageforget, SYSTEM TABLE,
master, dbo,  GEMS_DEPENDENTS_STAGING2, TABLE,
master, dbo, DBD_ODBC_LOB_TEST, TABLE,

Easysoft unterstützt derzeit die 32-Bit-Plattform ARMv71 Raspberry Pi. Wenn Sie einen unserer ODBC-Treiber für einen 64-Bit-Raspberry PI benötigen (zum Zeitpunkt des Verfassens dieses Artikels bedeutet dies einen Raspberry Pi 3 Model B mit SUSE Linux), lassen Sie es uns wissen, indem Sie sich an unser Support-Team wenden, und wir werden versuchen, einen zu erstellen 64-Bit-Treiber für Sie. Ein beispielhafter Vorteil, den unsere Treiber auf einer 64-Bit-Raspberry-Pi-Plattform ausführen, ist die Leistungssteigerung, die diese Architektur bei der Verwendung von Verschlüsselung bringt. (64-Bit-Ganzzahlen ermöglichen es CPUs, Verschlüsselungsaufgaben mit weniger Befehlen zu erledigen.) Mit dem SQL Server-ODBC-Treiber können Sie die Netzwerkverbindung zwischen Ihrem Raspberry Pi und SQL Server verschlüsseln und so die Daten während der Übertragung schützen.

Derzeit ermöglichen Ihnen Easysoft-Treiber den Zugriff auf die folgenden Datenspeicher von Raspberry Pi:

  • SQL-Server
  • Orakel
  • Salesforce
  • Zugang
  • DB2
  • MySQL
  • Apache-Derby
  • Beliebiger ODBC-Treiber