Pertanyaan ruby dan accdb (akses ms)


Jika saya memiliki file dasar windows xp, ruby ​​dan file akses ms 2007 (misalnya c: /foo/bar.accdb) file, metode paling tidak mengganggu untuk membaca file .accdb itu.

  • Apa yang perlu diinstal pada sistem xp.
  • Apa string koneksi khusus.

10
2017-07-13 15:37


asal


Jawaban:


Sesuatu di sepanjang garis-garis ini harus Anda mulai. Tentu saja, Anda harus memodifikasi beberapa nilai seperti; path, nama file, SQLstatement, dll.

File MDB (Akses 2003 format dan lebih tua) menggunakan mesin Jet

require 'win32ole'
connection = WIN32OLE.new('ADODB.Connection')
connection.Open('Provider=Microsoft.Jet.OLEDB.4.0;
                 Data Source=c:\path\filename.mdb')

File ACCDB (format Access 2007 dan yang lebih baru) menggunakan mesin ACE

require 'win32ole'
connection = WIN32OLE.new('ADODB.Connection')
connection.Open('Provider=Microsoft.ACE.OLEDB.12.0;
                 Data Source=c:\path\filename.accdb')

Untuk menjalankan kueri SQL yang tidak mengembalikan penggunaan data:

connection.Execute("INSERT INTO Table VALUES ('Data1', 'Data2');")

Untuk melakukan kueri yang menghasilkan recordset:

recordset = WIN32OLE.new('ADODB.Recordset')
recordset.Open(SQLstatement, connection)

10
2017-07-22 03:51



Anda dapat menggunakan sekuel perpustakaan Ruby (http://sequel.rubyforge.org/documentation.html), ia memiliki adaptor ADO


6
2017-07-18 18:06



Anda bisa menggunakan ADO melalui Ruby win32ole Perpustakaan.

Detail dan kode lengkap dapat ditemukan sini.


3
2017-07-13 17:32



Jika Anda dapat menggunakan ADO maka Anda akan menemukan pustaka ADO sudah diinstal pada kotak Windows XP (jika tidak mendistribusikan MDAC). Maka semua yang Anda butuhkan adalah ACE dll ditambah Penyedia OLE DB-nya, tersedia secara gratis dari Pusat Unduhan Microsoft:

Driver Office 2007: Komponen Konektivitas Data


1
2017-07-13 19:20



Seperti posting blog ini menjelaskannya (Ruby di Windows: Menggunakan Ruby & ADO untuk Bekerja dengan MS Access Databases, Anda dapat menggunakan ADO untuk menyambung ke database MS Access 2007.


1
2017-07-21 15:09



Jika Sequel dan ADO tidak berfungsi bahkan setelah menambahkan driver sistem Office 2007: Periksa untuk melihat apakah Anda menjalankan 32-bit atau versi 64-bit dari Ruby. Saya harus mengubah versi saya menjadi 32-bit agar semuanya berjalan dengan benar.


0
2018-05-28 12:50