2013-09-11 2 views
3

Как я могу использовать Firebird для объединения нескольких баз данных в один? Я пробовал fbexport, но ничего не компилирует fbexport на Ubuntu, я продолжаю получать эту ошибку.Объединить базы данных Firebird

g++ -pthread -lfbclient -L/usr/lib/x86_64-linux-gnu/ ibpp/all_in_one.o fbcopy/args.o fbcopy/fbcopy.o fbcopy/TableDependency.o fbcopy/main.o -oexe/fbcopy 
ibpp/all_in_one.o: In function `ibpp_internals::GDS::Call()': 
all_in_one.cpp:(.text+0x5a5): undefined reference to `isc_create_database' 
all_in_one.cpp:(.text+0x5ad): undefined reference to `isc_attach_database' 
all_in_one.cpp:(.text+0x5b5): undefined reference to `isc_detach_database' 
all_in_one.cpp:(.text+0x5bd): undefined reference to `isc_drop_database' 
all_in_one.cpp:(.text+0x5c5): undefined reference to `isc_database_info' 
all_in_one.cpp:(.text+0x5cd): undefined reference to `isc_open_blob2' 
all_in_one.cpp:(.text+0x5d5): undefined reference to `isc_create_blob2' 
all_in_one.cpp:(.text+0x5dd): undefined reference to `isc_close_blob' 
all_in_one.cpp:(.text+0x5e5): undefined reference to `isc_cancel_blob' 
all_in_one.cpp:(.text+0x5ed): undefined reference to `isc_get_segment' 
all_in_one.cpp:(.text+0x5f5): undefined reference to `isc_put_segment' 
all_in_one.cpp:(.text+0x5fd): undefined reference to `isc_blob_info' 
all_in_one.cpp:(.text+0x605): undefined reference to `isc_array_lookup_bounds' 
all_in_one.cpp:(.text+0x60d): undefined reference to `isc_array_get_slice' 
all_in_one.cpp:(.text+0x618): undefined reference to `isc_array_put_slice' 
all_in_one.cpp:(.text+0x623): undefined reference to `isc_vax_integer' 
all_in_one.cpp:(.text+0x62e): undefined reference to `isc_sqlcode' 
all_in_one.cpp:(.text+0x639): undefined reference to `isc_sql_interprete' 
all_in_one.cpp:(.text+0x644): undefined reference to `isc_interprete' 
all_in_one.cpp:(.text+0x64f): undefined reference to `isc_que_events' 
all_in_one.cpp:(.text+0x65a): undefined reference to `isc_cancel_events' 
all_in_one.cpp:(.text+0x665): undefined reference to `isc_start_multiple' 
all_in_one.cpp:(.text+0x670): undefined reference to `isc_commit_transaction' 
all_in_one.cpp:(.text+0x67b): undefined reference to `isc_commit_retaining' 
all_in_one.cpp:(.text+0x686): undefined reference to `isc_rollback_transaction' 
all_in_one.cpp:(.text+0x691): undefined reference to `isc_rollback_retaining' 
all_in_one.cpp:(.text+0x699): undefined reference to `isc_dsql_execute_immediate' 
all_in_one.cpp:(.text+0x6a4): undefined reference to `isc_dsql_allocate_statement' 
all_in_one.cpp:(.text+0x6af): undefined reference to `isc_dsql_describe' 
all_in_one.cpp:(.text+0x6ba): undefined reference to `isc_dsql_describe_bind' 
all_in_one.cpp:(.text+0x6c5): undefined reference to `isc_dsql_prepare' 
all_in_one.cpp:(.text+0x6d0): undefined reference to `isc_dsql_execute' 
all_in_one.cpp:(.text+0x6db): undefined reference to `isc_dsql_execute2' 
all_in_one.cpp:(.text+0x6e6): undefined reference to `isc_dsql_fetch' 
all_in_one.cpp:(.text+0x6f1): undefined reference to `isc_dsql_free_statement' 
all_in_one.cpp:(.text+0x6fc): undefined reference to `isc_dsql_set_cursor_name' 
all_in_one.cpp:(.text+0x707): undefined reference to `isc_dsql_sql_info' 
all_in_one.cpp:(.text+0x712): undefined reference to `isc_service_attach' 
all_in_one.cpp:(.text+0x71d): undefined reference to `isc_service_detach' 
all_in_one.cpp:(.text+0x728): undefined reference to `isc_service_start' 
all_in_one.cpp:(.text+0x733): undefined reference to `isc_service_query' 
collect2: ld returned 1 exit status 
make: *** [exe/fbcopy] Error 1 
[email protected]:/usr/local/src/fbexport-1.90$ cat /etc/issue 
Ubuntu 12.04.2 LTS \n \l 

Если существует более простой способ, чем использовать fbexport, было бы здорово.

+3

Что вы хотите достичь с этим вопросом, исправить ошибку компиляции или «объединить базы данных в один»? Последнее потребует еще нескольких объяснений: хотите ли вы объединить несколько копий одной и той же базы данных (для чего могут потребоваться перенумеровать записи) или в разные базы данных (с дизъюнктивным набором таблиц)? Что касается компиляции, то, вероятно, в вашей компиляции отсутствует ссылка на ibase.h. –

ответ

3

вам необходимо установить Жар-DEV заголовки после того, что вы должны изменить Makefile с флагами ссылок в конце

exe/fbexport: $(OBJECTS_FBE) ibpp/all_in_one.o 
g++ ibpp/all_in_one.o $(OBJECTS_FBE) -oexe/fbexport $(LINK_FLAGS) 

пожалуйста, проверьте версию GitHub с исправлениями в Makefile

https://github.com/mariuz/fbexport

Смежные вопросы