Hvis du skal have adgang til en database fra Raspberry Pi, kan du enten bruge en, der er tilgængelig for denne platform (for eksempel MySQL / MariaDB, PostgreSQL og MongoDB) eller få adgang til en eksternt. Easysoft ODBC-drivere gør det muligt for dine Pi-applikationer at oprette forbindelse til både lokale og eksterne databaser. For eksempel kan du bruge SQL Server ODBC-driveren til at forbinde Python på Pi til SQL Server på Windows (eller i Azure Cloud eller på Linux, hvis du bruger disse platforme). Trinene til dette er som følger:
- Download SQL Server ODBC-driveren til Raspberry Pi. (Registrering påkrævet.)
- Installer og licenser SQL Server ODBC-driveren på Raspberry Pi-maskinen.
Se ODBC-driverdokumentationen for installationsinstruktioner.
Bemærk Du skal have unixODBC Driver Manager installeret på din maskine. Easysoft-distributionen inkluderer en version af unixODBC Driver Manager, som Easysoft SQL Server ODBC-driveren er blevet testet med. Easysoft-driveropsætningsprogrammet giver dig mulighed for at installere unixODBC.
- Opret en ODBC-datakilde i /etc/odbc.ini, der forbinder til den SQL Server-database, du vil have adgang til fra Python. For eksempel:
[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
- Brug isql til at teste den nye datakilde. For eksempel:
cd /usr/local/easysoft/unixODBC/bin ./isql.sh -v SQLSERVER_SAMPLE
Ved prompten skal du skrive "hjælp" for at få vist en liste over tabeller. For at afslutte skal du trykke på retur i en tom promptlinje.
Hvis du ikke kan oprette forbindelse, skal du se denne artikel og SQL Server ODBC Driver Knowledge Base for at få hjælp.
- Installer nu pyodbc, ODBC-grænsefladen, der giver dig adgang til en ODBC-database fra Python:
sudo apt-get install python-pyodbc
- For at teste installationen skal du hente nogle SQL Server-data fra en 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 >>>
Alternativt, hvis du foretrækker 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 understøtter i øjeblikket ARMv71 Raspberry Pi-platformen, som er 32-bit. Hvis du har brug for en af vores ODBC-drivere til en 64-bit Raspberry PI (i skrivende stund betyder dette en Raspberry Pi 3 Model B, der kører SUSE Linux), så lad os det vide ved at kontakte vores supportteam, og vi vil forsøge at bygge en 64-bit driver til dig. Et eksempel på fordel ved at køre vores drivere på en 64-bit Raspberry Pi-platform er den ydelsesforøgelse, som denne arkitektur medfører, når du bruger kryptering. (64-bit heltal gør det muligt for CPU'er at håndtere krypteringsopgaver med færre kommandoer.) SQL Server ODBC-driveren gør det muligt for dig at kryptere netværksforbindelsen mellem din Raspberry Pi og SQL Server, hvilket beskytter data i transit.
I øjeblikket giver Easysoft-drivere dig adgang til følgende datalagre fra Raspberry Pi:
- SQL-server
- Oracle
- Salesforce
- Adgang
- DB2
- MySQL
- Apache Derby
- Enhver ODBC-driver