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:
- Download het SQL Server ODBC-stuurprogramma voor Raspberry Pi. (Registratie vereist.)
- 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.
- 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
- 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.
- Installeer nu pyodbc, de ODBC-interface die u toegang geeft tot een ODBC-database vanuit Python:
sudo apt-get install python-pyodbc
- 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