Firebird i collation przy selectach

0

Witam :)
Dostałem bazę danych Firebird w postaci pliku FDB i próbuję się połączyć i pobrać dane z tabeli. To czego potrzebuję to wynik SELECTa, nie ma żadnej potrzeby INSERTÓW/UPDATÓW/itd.
Połączenie nawiązuje się poprawnie, ale niezależnie od systemu klienckiego (Windows Server / Linux Ubuntu), sterownika (ODBC / JDBC), każda próba select z dowolnej tabeli kończy się błędem:

COLLATION UTF8_PL_PL_CI for CHARACTER SET UTF8 is not installed

Google za wiele nie pomaga.
Myślałem też żeby w locie zmienić może collation, z tego co pamiętam MySQL i SQL Server tak potrafią, pytanie tylko jak to zrobić pod Firebirdem?
Coś w stylu (działa na SQL Server):

select title collate Polish_CS_AS
from dbo.Album

Z góry dzięki za pomoc.

2
Jakub Porębski napisał(a):

Dostałem bazę danych Firebird w postaci pliku FDB i próbuję się połączyć i pobrać dane z tabeli.

I tu jest pies pogrzebany. Baz Firebirda nie przenosi się za pomocą kopiowania pliku bazy. Musisz zrobić kopię do formatu FBK i odtworzyć ją u siebie do pliku FDB. Inaczej może coś nie działać. Jeśli chcesz tak przenosić bazy jak to robisz, powinno się używać tej samej wersji Firebird'a jaka jest na serwerze źródłowym.

Jakub Porębski napisał(a):

Google za wiele nie pomaga.

Czyżby? Pierwszy link https://www.google.com/search[...]TER+SET+UTF8+is+not+installed jest do FAQ http://www.firebirdfaq.org/faq358/ gdzie jest ładnie wyjaśnione skąd się bierze ten błąd :)

Jakub Porębski napisał(a):

Myślałem też żeby w locie zmienić może collation, z tego co pamiętam MySQL i SQL Server tak potrafią, pytanie tylko jak to zrobić pod Firebirdem?

Collate w przypadku Firebirda określa jak ma nastąpić sortowanie po danej kolumnie tylko tyle. Składnia jest nastepująca:

select * from foo order by bar collate PXW_PLK

Jeśli problem byłby w bazie. Na przykład inny zestaw znaków niż oczekiwany, wtedy błąd brzmiałby w stylu 'cannot transliterate between charset'

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0