Przejdź do głównej zawartości

Aneks (2) do tutoriala – Glassfih v3 + JRuby (on Rails) + MS SQL Server 2008

W artykułach:
  • Nowa wersja activerecord-jdbc-adapter – 0.9.4 // usunięty //
  • Problem z activerecord-jdbc-adapter w wersji 0.9.3 // usunięty //
przedstawiłem problem, jaki wystąpił podczas próby wpisywania danych do tabel SQL Servera z poziomu aplikacji JRuby on Rails poprzez rdzenny activerecord-jdbc-adapter w wersjach 0.9.3 i 0.9.4, później również – o czym już nie pisałem – w wersji 0.9.5. W tym rozwiązaniu wykorzystywany był sterownik JDBC dla Microsoft SQL Servera 2008.
Ostatnio znalazłem dedykowany adapter dla SQL Servera (activerecord-jdbcmssql-adapter, w wersji 0.9.5). Postanowiłem go wypróbować. Okazało się, że działa! A ponadto nie jest już potrzebny osobny sterownik JDBC i proces tworzenia aplikacji za pomocą kreatora znacznie się uprościł.
Aby skorzystać z dobrodziejstwa activerecord-jdbcmssql-adapter’a należy go oczywiście zainstalować (razem z innymi, ważnymi elementami – bodaj jeden dodatkowy pakiet oraz aktualizacja elementów activerecord) i zmienić odrobinę ustawienia kreatora aplikacji w trzecim kroku (Database Configuration):
Zauważcie, że jako adapter bazodanowy pozostawiłem mysql (jdbc) /mssql nie pojawił się na liście…/, podałem jedynie prawidłową nazwę bazy danych (tutaj video_collection_development). Można też było podać nazwę użytkownika i hasło w celu poprawnej rejestracji w serwerze baz danych, ale te informacje pominąłem.
Dalej wszystko odbyło się jak opisywałem wcześniej – koniec końców została utworzona aplikacja JRuby on Rails. Wygenerowałem sobie dla niej rusztowanie (scaffold) jak w cz. 3 tutoriala i zanim przystąpiłem do uruchomienia migracji, zmieniłem zawartość pliku database.yml na następującą:
# MySQL.  Versions 4.1 and 5.0 are recommended.
#
#####################################################
# Changed to MS SQL (via jdbcmssql adapter) by RW
#####################################################
#
# Be sure to use new-style password hashing:
#   http://dev.mysql.com/doc/refman/5.0/en/old-client.html
development:
#  adapter: jdbcmysql
adapter: jdbcmssql
encoding: utf8
reconnect: false
database: video_collection_development
pool: 5
username: rails_app
password: rails_app
host: localhost

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
#  adapter: jdbcmysql
adapter: jdbcmssql
encoding: utf8
reconnect: false
database: video_collection_test
pool: 5
username: rails_app
password: rails_app
host: localhost

production:
#  adapter: jdbcmysql
adapter: jdbcmssql
encoding: utf8
reconnect: false
database: video_collection_production
pool: 5
username: rails_app
password: rails_app
host: localhost


W zasadzie zmianie uległa tylko nazwa adaptera (jdbcmssql) oraz nazwa użytkownika i hasło, reszta jak w pierwowzorze (dla mysql). Kreator, mimo że podałem nazwę bazy w wersji development, sprytnie dopasował nazwy pozostałych dwóch baz. Jedyne, co teraz zostało do zrobienia, to utworzenie baz danych (z odpowiednimi uprawnieniami dla użytkownika rails_app), przeprowadzenie migracji i rozwijanie aplikacji. Przetestowałem z poziomu środowiska wbudowanego w NetBeans oraz serwera testowego glassfish-gem, ale myślę, że w warunkach produkcyjnych też wszystko będzie działało prawidłowo.

Komentarze

Popularne posty z tego bloga

Niesamowicie prosty czujnik zmierzchowy.

Tym razem zero programowania, będzie natomiast nostalgiczno-wspomnieniowy układzik, lekko zmodyfikowany.
Otóż kilka dni temu rozmawialiśmy w gronie znajomych o różnego rodzaju czujnikach zmierzchowych i czujnikach ruchu. Ponieważ należę do tych wariatów, co to hołdują jeszcze owej przestarzałej i kompletnie odrealnionej dziś zasadzie: "po co kupować, gdy można zrobić", stwierdziłem, że poskładam takie coś (czujnik zmierzchowy; sensor ruchu faktycznie lepiej nabyć, choćby ze względu na rozmiary ;)) i być może podłączę do jakiegoś mikrokontrolera. Przypomniało mi się też przy okazji, że znalazłem ostatnio w elektronicznych śmieciach stary fotorezystor (dla niewtajemniczonych: element zmieniający rezystancję, czyli opór elektryczny, pod wpływem działania strumienia światła) RPP130, jeden z kilku pozostałych po montowanych wieki temu układach tranzystorowych do zdalnego sterowania pracą urządzeń za pomocą latarki... No OK, nie było to specjalnie rozbudowane zdalne sterowanie ;)

Android i zewnętrzny moduł GPS

Od kilku dni jestem w posiadaniu smyrfona z Androidem 4.1.1 na pokładzie. Kwestie związane z wyborem systemu roztrząsałem już na G+, a ten artykuł tutaj ma konkretny temat, więc nie będę wyjaśniał po raz n-ty. Po prostu zwyciężyły popularność i ekosystem oraz przywiązanie do produktów sieciowych Google. Mniejsza.

Zbliża się sezon urlopowy :-) Moi podopieczni już mają wakacje, a ja wyjeżdżam wkrótce. W każdym bądź razie wakacje to podróże - samochodem, rowerem, na piechotę, żaglówką, motorówką, samolotem... Zaawansowane urządzenia mobilne przyzwyczaiły nas już do usług lokalizacyjnych, z których najważniejszą jest GPS (na dalszym planie mamy A-GPS, lokalizacje w oparciu o sieci WiFi itp.). Często korzystamy z programów, które w coraz ciekawszy sposób wiążą naszą lokalizację, pobraną z np. GPS-a, z przeróżnymi danymi, nieraz ocierając się o AR.
Każdy współczesny smartfon, a przynajmniej znakomita ich większość, wyposażona jest we wbudowany odbiornik sygnału lokalizacyjnego (GPS, GLONASS…

Po co mi to całe Arduino?

Oczywiście tytuł ma być jedynie prowokacją. Chociaż nie do końca - artykuł jest właśnie poświęcony pracy w Arduino IDE z mikrokontrolerami, ale bez płytek Arduino.
Czym jest Arduino - wiemy wszyscy, zarówno początkujący fani programowania elektroniki, jak i zaawansowani mikrokontrolerowcy. Jeśli jednak nie do końca wiemy, zachęcam do odwiedzenia strony domowej projektu (link 5 na końcu artykułu) oraz zerknięcia np. w poradnik (link 4).

Jakiś czas temu, przełamując się i zmieniając zdanie ("o 180 stopni" ;-)) nabyłem sobie Arduino Leonardo, głównie w celu jego "obwąchania" i zapoznania się z bogatym zbiorem bibliotek dostępnych dla tej platformy. Zgoda, różne biblioteki są dostępne niezależnie od Arduino, ale i tak się zdecydowałem. Dlaczego Leonardo? Otóż miałem ochotę przyrządzić dwie pieczenie na jednym ogniu - mieć Arduino i przetestować ATmegę 32u4. Dziś doskonale zdaję sobie sprawę, że żeby pobawić się Arduino nie trzeba go w ogóle posiadać... Ale po kolei.

Pi…