Access
 sql >> Database >  >> RDS >> Access

Accesso ai dati da Raspberry Pi

Se è necessario accedere a un database da Raspberry Pi, è possibile utilizzarne uno disponibile per questa piattaforma (ad esempio MySQL/MariaDB, PostgreSQL e MongoDB) o accedervi in ​​remoto. I driver Easysoft ODBC consentono alle tue applicazioni Pi di connettersi a database locali e remoti. Ad esempio, puoi usare il driver ODBC di SQL Server per connettere Python su Pi a SQL Server su Windows (o in Azure Cloud o su Linux, se usi queste piattaforme). I passaggi per questo sono i seguenti:

  1. Scarica il driver ODBC di SQL Server per Raspberry Pi. (Registrazione richiesta.)
  2. Installa e concede in licenza il driver ODBC di SQL Server sul computer Raspberry Pi.

    Per le istruzioni di installazione, vedere la documentazione del driver ODBC.

    Nota Hai bisogno di unixODBC Driver Manager installato sul tuo computer. La distribuzione Easysoft include una versione di unixODBC Driver Manager con cui è stato testato il driver ODBC di Easysoft SQL Server. Il programma di installazione del driver Easysoft ti dà la possibilità di installare unixODBC.

  3. Crea un'origine dati ODBC in /etc/odbc.ini che si connetta al database di SQL Server a cui desideri accedere da Python. Ad esempio:
    [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. Usa isql per testare la nuova origine dati. Ad esempio:
    cd /usr/local/easysoft/unixODBC/bin
    ./isql.sh -v SQLSERVER_SAMPLE
    

    Al prompt, digita "help" per visualizzare un elenco di tabelle. Per uscire, premi Invio in una riga di prompt vuota.

    Se non riesci a connetterti, fai riferimento a questo articolo e alla Knowledge Base del driver ODBC di SQL Server per assistenza.

  5. Ora installa pyodbc, l'interfaccia ODBC che ti consente di accedere a un database ODBC da Python:
    sudo apt-get install python-pyodbc
  6. Per testare l'installazione, recupera alcuni dati di SQL Server da una shell Python:
    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
    >>>
    

In alternativa, se preferisci Perl:

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 attualmente supporta la piattaforma ARMv71 Raspberry Pi, che è a 32 bit. Se hai bisogno di uno dei nostri driver ODBC per un Raspberry PI a 64 bit (al momento in cui scrivo questo significa un Raspberry Pi 3 Model B con SUSE Linux), faccelo sapere contattando il nostro team di supporto e cercheremo di creare un Driver a 64 bit per te. Un esempio di vantaggio dell'esecuzione dei nostri driver su una piattaforma Raspberry Pi a 64 bit è l'aumento delle prestazioni offerto da questa architettura quando si utilizza la crittografia. (I numeri interi a 64 bit consentono alle CPU di gestire le attività di crittografia con meno comandi.) Il driver ODBC di SQL Server consente di crittografare la connessione di rete tra il tuo Raspberry Pi e SQL Server, proteggendo i dati in transito.

Attualmente, i driver Easysoft ti consentono di accedere ai seguenti archivi dati da Raspberry Pi:

  • SQL Server
  • Oracolo
  • Forza vendite
  • Accesso
  • DB2
  • MySQL
  • Apache Derby
  • Qualsiasi driver ODBC