4

Firebird如何将多个数据库合二为一?我尝试了 fbexport,但在 Ubuntu 上没有编译 fbexport,我不断收到此错误。

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
ubuntu@ip-10-252-116-132:/usr/local/src/fbexport-1.90$ cat /etc/issue
Ubuntu 12.04.2 LTS \n \l

如果存在比使用 fbexport 更简单的方法,那就太好了。

4

1 回答 1

3

您需要安装 firebird-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

于 2013-09-12T15:45:11.573 回答