sql >> Base de Datos >  >> RDS >> Access

Acceso a datos desde Raspberry Pi

Si necesita acceder a una base de datos desde Raspberry Pi, puede usar una que esté disponible para esta plataforma (por ejemplo, MySQL/MariaDB, PostgreSQL y MongoDB) o acceder a una de forma remota. Los controladores ODBC de Easysoft permiten que sus aplicaciones Pi se conecten a bases de datos locales y remotas. Por ejemplo, podría usar el controlador ODBC de SQL Server para conectar Python en Pi a SQL Server en Windows (o en Azure Cloud, o en Linux, si usa estas plataformas). Los pasos para esto son los siguientes:

  1. Descargue el controlador ODBC de SQL Server para Raspberry Pi. (Es necesario registrarse).
  2. Instale y obtenga la licencia del controlador ODBC de SQL Server en la máquina Raspberry Pi.

    Para obtener instrucciones de instalación, consulte la documentación del controlador ODBC.

    Nota Necesita el administrador de controladores unixODBC instalado en su máquina. La distribución de Easysoft incluye una versión de unixODBC Driver Manager con la que se ha probado el controlador ODBC de Easysoft SQL Server. El programa de instalación del controlador Easysoft le ofrece la opción de instalar unixODBC.

  3. Cree una fuente de datos ODBC en /etc/odbc.ini que se conecte a la base de datos de SQL Server a la que desea acceder desde Python. Por ejemplo:
    [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. Utilice isql para probar la nueva fuente de datos. Por ejemplo:
    cd /usr/local/easysoft/unixODBC/bin
    ./isql.sh -v SQLSERVER_SAMPLE
    

    Cuando se le solicite, escriba "ayuda" para mostrar una lista de tablas. Para salir, presione regresar en una línea de aviso vacía.

    Si no puede conectarse, consulte este artículo y la base de conocimientos del controlador ODBC de SQL Server para obtener ayuda.

  5. Ahora instale pyodbc, la interfaz ODBC que le permite acceder a una base de datos ODBC desde Python:
    sudo apt-get install python-pyodbc
  6. Para probar la instalación, obtenga algunos datos de SQL Server desde un shell de 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
    >>>
    

Alternativamente, si prefiere 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 actualmente es compatible con la plataforma ARMv71 Raspberry Pi, que es de 32 bits. Si necesita uno de nuestros controladores ODBC para una Raspberry PI de 64 bits (al momento de escribir esto significa una Raspberry Pi 3 Modelo B con SUSE Linux), háganoslo saber poniéndose en contacto con nuestro equipo de soporte e intentaremos construir una controlador de 64 bits para usted. Un ejemplo de beneficio de ejecutar nuestros controladores en una plataforma Raspberry Pi de 64 bits es el aumento de rendimiento que brinda esta arquitectura cuando se usa el cifrado. (Los números enteros de 64 bits permiten que las CPU manejen tareas de encriptación con menos comandos). El controlador ODBC de SQL Server le permite encriptar la conexión de red entre su Raspberry Pi y SQL Server, protegiendo los datos en tránsito.

Actualmente, los controladores de Easysoft le permiten acceder a los siguientes almacenes de datos desde Raspberry Pi:

  • Servidor SQL
  • Oráculo
  • Fuerza de ventas
  • Acceso
  • DB2
  • MySQL
  • Derby Apache
  • Cualquier controlador ODBC