Nếu bạn cần truy cập cơ sở dữ liệu từ Raspberry Pi, bạn có thể sử dụng một cơ sở dữ liệu có sẵn cho nền tảng này (ví dụ:MySQL / MariaDB, PostgreSQL và MongoDB) hoặc truy cập từ xa. Trình điều khiển ODBC của Easysoft cho phép các ứng dụng Pi của bạn kết nối với cả cơ sở dữ liệu cục bộ và từ xa. Ví dụ:bạn có thể sử dụng trình điều khiển SQL Server ODBC để kết nối Python trên Pi với SQL Server trên Windows (hoặc trong Azure Cloud hoặc trên Linux, nếu bạn sử dụng các nền tảng này). Các bước cho việc này như sau:
- Tải xuống trình điều khiển SQL Server ODBC cho Raspberry Pi. (Cần đăng ký.)
- Cài đặt và cấp phép trình điều khiển SQL Server ODBC trên máy Raspberry Pi.
Để biết hướng dẫn cài đặt, hãy xem tài liệu trình điều khiển ODBC.
Lưu ý Bạn cần cài đặt Trình quản lý trình điều khiển unixODBC trên máy của mình. Bản phân phối Easysoft bao gồm phiên bản Trình quản lý trình điều khiển unixODBC mà trình điều khiển ODBC của Easysoft SQL Server đã được thử nghiệm. Chương trình cài đặt trình điều khiển Easysoft cung cấp cho bạn tùy chọn cài đặt unixODBC.
- Tạo nguồn dữ liệu ODBC trong /etc/odbc.ini kết nối với cơ sở dữ liệu SQL Server mà bạn muốn truy cập từ Python. Ví dụ:
[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
- Sử dụng isql để kiểm tra nguồn dữ liệu mới. Ví dụ:
cd /usr/local/easysoft/unixODBC/bin ./isql.sh -v SQLSERVER_SAMPLE
Tại dấu nhắc, gõ "trợ giúp" để hiển thị danh sách các bảng. Để thoát, hãy nhấn quay lại trong một dòng nhắc trống.
Nếu bạn không thể kết nối, hãy tham khảo bài viết này và Cơ sở Kiến thức Trình điều khiển ODBC SQL Server để được hỗ trợ.
- Bây giờ hãy cài đặt pyodbc, giao diện ODBC cho phép bạn truy cập cơ sở dữ liệu ODBC từ Python:
sudo apt-get install python-pyodbc
- Để kiểm tra cài đặt, hãy tìm nạp một số dữ liệu SQL Server từ trình bao 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 >>>
Ngoài ra, nếu bạn thích 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 hiện hỗ trợ nền tảng ARMv71 Raspberry Pi, 32-bit. Nếu bạn cần một trong các trình điều khiển ODBC của chúng tôi cho Raspberry PI 64-bit (tại thời điểm viết bài này có nghĩa là Raspberry Pi 3 Model B chạy SUSE Linux), hãy cho chúng tôi biết bằng cách liên hệ với nhóm Hỗ trợ của chúng tôi và chúng tôi sẽ cố gắng xây dựng Trình điều khiển 64-bit cho bạn. Một lợi ích ví dụ khi chạy trình điều khiển của chúng tôi trên nền tảng Raspberry Pi 64-bit là sự gia tăng hiệu suất mà kiến trúc này mang lại khi sử dụng mã hóa. (Số nguyên 64-bit cho phép CPU xử lý các tác vụ mã hóa với ít lệnh hơn.) Trình điều khiển ODBC SQL Server cho phép bạn mã hóa kết nối mạng giữa Raspberry Pi và SQL Server, bảo vệ dữ liệu khi truyền.
Hiện tại, trình điều khiển Easysoft cho phép bạn truy cập các kho dữ liệu sau từ Raspberry Pi:
- Máy chủ SQL
- Oracle
- Lực lượng bán hàng
- Truy cập
- DB2
- MySQL
- Trận Derby Apache
- Bất kỳ trình điều khiển ODBC nào