Pokud potřebujete přistupovat k databázi z Raspberry Pi, můžete buď použít databázi, která je pro tuto platformu dostupná (například MySQL / MariaDB, PostgreSQL a MongoDB), nebo k ní přistupovat vzdáleně. Ovladače Easysoft ODBC umožňují vašim aplikacím Pi připojení k místním i vzdáleným databázím. Ovladač SQL Server ODBC byste mohli například použít k připojení Pythonu na Pi k SQL Serveru na Windows (nebo v Azure Cloud nebo na Linuxu, pokud tyto platformy používáte). Postup je následující:
- Stáhněte si ovladač SQL Server ODBC pro Raspberry Pi. (Je nutná registrace.)
- Nainstalujte a licencujte ovladač SQL Server ODBC na počítači Raspberry Pi.
Pokyny k instalaci naleznete v dokumentaci ovladače ODBC.
Poznámka Na vašem počítači potřebujete nainstalovaný unixODBC Driver Manager. Distribuce Easysoft obsahuje verzi unixODBC Driver Manager, se kterou byl testován ovladač Easysoft SQL Server ODBC. Instalační program ovladače Easysoft vám dává možnost nainstalovat unixODBC.
- Vytvořte zdroj dat ODBC v /etc/odbc.ini, který se připojuje k databázi SQL Server, ke které chcete přistupovat z Pythonu. Například:
[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
- K testování nového zdroje dat použijte isql. Například:
cd /usr/local/easysoft/unixODBC/bin ./isql.sh -v SQLSERVER_SAMPLE
Na výzvu zadejte "help" pro zobrazení seznamu tabulek. Pro ukončení stiskněte return v prázdném řádku s výzvou.
Pokud se nemůžete připojit, vyhledejte pomoc v tomto článku a ve znalostní databázi SQL Server ODBC Driver Knowledge Base.
- Nyní nainstalujte pyodbc, rozhraní ODBC, které vám umožňuje přístup k databázi ODBC z Pythonu:
sudo apt-get install python-pyodbc
- Chcete-li otestovat instalaci, načtěte některá data serveru SQL z prostředí Pythonu:
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 >>>
Případně, pokud dáváte přednost Perlu:
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 aktuálně podporuje platformu ARMv71 Raspberry Pi, která je 32bitová. Pokud potřebujete jeden z našich ovladačů ODBC pro 64bitové Raspberry PI (v době psaní tohoto článku to znamená Raspberry Pi 3 Model B se systémem SUSE Linux), dejte nám vědět kontaktováním našeho týmu podpory a my se pokusíme vytvořit 64bitový ovladač pro vás. Příkladem výhody, kterou naše ovladače provozujeme na 64bitové platformě Raspberry Pi, je zvýšení výkonu, které tato architektura přináší při použití šifrování. (64bitová celá čísla umožňují procesorům zpracovávat úlohy šifrování s menším počtem příkazů.) Ovladač SQL Server ODBC umožňuje šifrovat síťové připojení mezi Raspberry Pi a SQL Serverem, čímž chrání data při přenosu.
V současné době vám ovladače Easysoft umožňují přístup k následujícím datovým úložištím z Raspberry Pi:
- SQL Server
- Oracle
- Salesforce
- Přístup
- DB2
- MySQL
- Apache Derby
- Jakýkoli ovladač ODBC