Access
 sql >> Base de données >  >> RDS >> Access

Accès aux données depuis Raspberry Pi

Si vous avez besoin d'accéder à une base de données depuis Raspberry Pi, vous pouvez soit utiliser celle qui est disponible pour cette plate-forme (par exemple, MySQL / MariaDB, PostgreSQL et MongoDB) ou y accéder à distance. Les pilotes ODBC Easysoft permettent à vos applications Pi de se connecter aux bases de données locales et distantes. Par exemple, vous pouvez utiliser le pilote ODBC SQL Server pour connecter Python sur Pi à SQL Server sur Windows (ou dans le cloud Azure, ou sur Linux, si vous utilisez ces plates-formes). Les étapes pour cela sont les suivantes :

  1. Téléchargez le pilote ODBC SQL Server pour Raspberry Pi. (Inscription requise.)
  2. Installez et mettez sous licence le pilote ODBC SQL Server sur la machine Raspberry Pi.

    Pour obtenir des instructions d'installation, consultez la documentation du pilote ODBC.

    Remarque Le gestionnaire de pilotes unixODBC doit être installé sur votre machine. La distribution Easysoft inclut une version du gestionnaire de pilotes unixODBC avec lequel le pilote ODBC Easysoft SQL Server a été testé. Le programme d'installation du pilote Easysoft vous offre la possibilité d'installer unixODBC.

  3. Créez une source de données ODBC dans /etc/odbc.ini qui se connecte à la base de données SQL Server à laquelle vous souhaitez accéder depuis Python. Par exemple :
    [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. Utilisez isql pour tester la nouvelle source de données. Par exemple :
    cd /usr/local/easysoft/unixODBC/bin
    ./isql.sh -v SQLSERVER_SAMPLE
    

    À l'invite, tapez "help" pour afficher une liste de tables. Pour quitter, appuyez sur retour dans une ligne d'invite vide.

    Si vous ne parvenez pas à vous connecter, reportez-vous à cet article et à la base de connaissances du pilote ODBC SQL Server pour obtenir de l'aide.

  5. Installez maintenant pyodbc, l'interface ODBC qui vous permet d'accéder à une base de données ODBC à partir de Python :
    sudo apt-get install python-pyodbc
  6. Pour tester l'installation, récupérez des données SQL Server à partir d'un 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
    >>>
    

Sinon, si vous préférez 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 prend actuellement en charge la plate-forme ARMv71 Raspberry Pi, qui est 32 bits. Si vous avez besoin de l'un de nos pilotes ODBC pour un Raspberry PI 64 bits (au moment de la rédaction, cela signifie un Raspberry Pi 3 modèle B exécutant SUSE Linux), faites-le nous savoir en contactant notre équipe d'assistance et nous essaierons de créer un Pilote 64 bits pour vous. Un exemple d'avantage que l'exécution de nos pilotes sur une plate-forme Raspberry Pi 64 bits est l'augmentation des performances que cette architecture apporte lors de l'utilisation du chiffrement. (Les entiers 64 bits permettent aux processeurs de gérer les tâches de chiffrement avec moins de commandes.) Le pilote ODBC SQL Server vous permet de chiffrer la connexion réseau entre votre Raspberry Pi et SQL Server, protégeant ainsi les données en transit.

Actuellement, les pilotes Easysoft vous permettent d'accéder aux magasins de données suivants depuis Raspberry Pi :

  • SQL Server
  • Oracle
  • Salesforce
  • Accès
  • DB2
  • MySQL
  • Derby Apache
  • Tout pilote ODBC