sql >> Database >  >> RDS >> Access

Gegevenstoegang vanaf Raspberry Pi

Als u toegang wilt tot een database van Raspberry Pi, kunt u er een gebruiken die beschikbaar is voor dit platform (bijvoorbeeld MySQL / MariaDB, PostgreSQL en MongoDB) of er een op afstand openen. Met Easysoft ODBC-stuurprogramma's kunnen uw Pi-toepassingen verbinding maken met zowel lokale als externe databases. U kunt bijvoorbeeld het SQL Server ODBC-stuurprogramma gebruiken om Python op Pi te verbinden met SQL Server op Windows (of in de Azure Cloud, of op Linux, als u deze platforms gebruikt). De stappen hiervoor zijn als volgt:

  1. Download het SQL Server ODBC-stuurprogramma voor Raspberry Pi. (Registratie vereist.)
  2. Installeer en licentieer het SQL Server ODBC-stuurprogramma op de Raspberry Pi-machine.

    Zie de documentatie van het ODBC-stuurprogramma voor installatie-instructies.

    Opmerking U moet de unixODBC Driver Manager op uw computer hebben geïnstalleerd. De Easysoft-distributie bevat een versie van de unixODBC Driver Manager waarmee de Easysoft SQL Server ODBC-driver is getest. Het Easysoft driver setup programma geeft je de mogelijkheid om unixODBC te installeren.

  3. Maak een ODBC-gegevensbron in /etc/odbc.ini die verbinding maakt met de SQL Server-database waartoe u toegang wilt vanuit Python. Bijvoorbeeld:
    [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. Gebruik isql om de nieuwe gegevensbron te testen. Bijvoorbeeld:
    cd /usr/local/easysoft/unixODBC/bin
    ./isql.sh -v SQLSERVER_SAMPLE
    

    Typ bij de prompt "help" om een ​​lijst met tabellen weer te geven. Druk op Return in een lege promptregel om af te sluiten.

    Als u geen verbinding kunt maken, raadpleeg dan dit artikel en de SQL Server ODBC Driver Knowledge Base voor hulp.

  5. Installeer nu pyodbc, de ODBC-interface die u toegang geeft tot een ODBC-database vanuit Python:
    sudo apt-get install python-pyodbc
  6. Als u de installatie wilt testen, haalt u enkele SQL Server-gegevens op uit een Python-shell:
    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
    >>>
    

Als alternatief, als u Perl verkiest:

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 ondersteunt momenteel het ARMv71 Raspberry Pi-platform, dat 32-bits is. Als je een van onze ODBC-stuurprogramma's nodig hebt voor een 64-bits Raspberry PI (op het moment van schrijven betekent dit een Raspberry Pi 3 Model B met SUSE Linux), laat het ons dan weten door contact op te nemen met ons ondersteuningsteam, en we zullen proberen een 64-bits stuurprogramma voor u. Een voorbeeldvoordeel van het uitvoeren van onze stuurprogramma's op een 64-bits Raspberry Pi-platform is de prestatieverbetering die deze architectuur met zich meebrengt bij het gebruik van codering. (64-bits integers stellen CPU's in staat om versleutelingstaken met minder commando's af te handelen.) Met het SQL Server ODBC-stuurprogramma kunt u de netwerkverbinding tussen uw Raspberry Pi en SQL Server versleutelen, waardoor gegevens tijdens het transport worden beschermd.

Momenteel bieden Easysoft-stuurprogramma's u toegang tot de volgende gegevensarchieven van Raspberry Pi:

  • SQL-server
  • Oracle
  • Salesforce
  • Toegang
  • DB2
  • MijnSQL
  • Apache Derby
  • Elke ODBC-driver

  1. Waarom elk klein bedrijf een database nodig heeft

  2. sp_executesql is traag met parameters

  3. De naam van een CHECK-beperking in SQL Server wijzigen met T-SQL

  4. SQL COUNT() voor beginners