טיפ לעצמי: שימוש בjruby ו jdbc לעבודה עם firebird ו dbi

אני ממשיך בניסויים שלי עם jruby וכמובן FirebirdSQL. הרבה אנשים לא מבינים למה, אז התשובה היא פשוטה: אני מחפש כלים פשוטים, אמינים שעושים לי חיים קלים לתחזוקה ועבודה. השימוש ב JRuby הוא כאמור בגלל התמיכה שלו ב thread, אבל אם כבר משתמשים ב JVM, אז בואו נשתמש בזה איפה שאפשר להנות ממנו בכל מקום, ולכן השימוש שלי עם Firebird הוא באמצעות JDBC. בחרתי דווקא ב DBI ולא ב ActiveRecord בגלל שהתמיכה של ActiveRecord ב JDBC ממש לא עובדת לי כמו שצריך (ניסיתי עם עוד כמה מסדי נתונים), ואחרי יותר מידי שעות של מאבקים שבהם אפילו הצלחתי להרוס לגמרי את PosgreSQL (המסד נתונים הנוסף שניסיתי) בצורה שגם הסרה מלאהו התקנה מחודשת לא מתקנת, נשברתי ואני חוזר לעבוד עם DBI ו JDBC. כאן לקח לי מאוד מהר לגרום לדברים לעבוד כמו שצריך (פחות מ10 דקות במקום 8 שעות של אתמול והיום מאבק עם ActiveRecord).

הקוד לעבודה כאן מאוד קל ופשוט (אותו מסד נתונים כמו אתמול, רק היום אני משתמש כבר ב alias):

#!/usr/bin/env jruby

require 'rubygems'
require 'java'
require 'dbi'

dbh = DBI.connect('DBI:Jdbc:firebirdsql:localhost:jtest',
'sysdba', 'masterkey', 'driver' => 'org.firebirdsql.jdbc.FBDriver')

begin
  puts dbh.select_one "SELECT name FROM users"
ensure
  dbh.disconnect if (not dbh.nil? && dbh.connected?)
end

וכאמור זה עובד כבר מפעם הראשונה שניסיתי.

כתיבת תגובה

הזינו את פרטיכם בטופס, או לחצו על אחד מהאייקונים כדי להשתמש בחשבון קיים:

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת / לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת / לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת / לשנות )

תמונת גוגל פלוס

אתה מגיב באמצעות חשבון Google+ שלך. לצאת מהמערכת / לשנות )

מתחבר ל-%s