2015-09-30 48 views
4

我们目前正在Windows机器上使用Safescan的TA +软件,但尝试将数据库(TADATA.FDB)移动到小型Linux服务器上,这就是为什么我们购买了Raspberry Pi2并在其上安装了Raspbian和Firebird 2.5 Super 。之后,我们将Windows 7机器上的TADATA.FDB文件复制到Pi上,并将SYSDBA密码设置为“masterkey”。如何连接Raspbian上的TA +数据库(Firebird)?

如果我尝试连接到使用说

CONNECT "C:\Program Files (x86)\SafeScan\TA4\TADATA.FDB" user 'SYSDBA' password 'masterkey' 

一切在Windows机器上的数据库工作正常,我可以访问数据库。不过,如果我使用等效命令

CONNECT "/var/lib/firebird/2.5/data/tadata.fdb" user 'SYSDBA' password 'masterkey' 

对树莓,我得到如下回应:

Statement failed, SQLSTATE = HY000 
file /var/lib/firebird/2.5/data/tadata.fdb is not a valid database 

如果我尝试使用他们提供的语法通过Safescan软件连接(SERVERIP:/无功/ lib中/火鸟/ 2.5 /数据/ tadata.fdb),该计划给了我这个错误messeage:

The settings of the provided database couldn't be opened 
(Error: file /var/lib/firebird/2.5/data/tadata.fdb is not a valid database 
Connection authorization failure. 
GDS Code: 335544323 Error Code: 3) 

我提供的凭据似乎是正确设置,我可以使用它们来创建和连接任何其他数据库,如示例一。为了确保密码设置正确,我还使用了

GSEC> modify SYSDBA -pw masterkey 

具有root权限。

我该怎么做才能连接到Raspberry上的这个数据库?

编辑: “显示版本” 命令提供了以下信息: 在Raspbian(已连接test.fdb):

ISQL Version: LI-V2.5.2.26540 Firebird 2.5 
Server version: 
Firebird/linux ARM (access method), version "LI-V2.5.2.26540 Firebird 2.5" 
Firebird/linux ARM (remote server), version "LI-V2.5.2.26540 Firebird 2.5/tcp (raspberrypi)/P12" 
Firebird/linux ARM (remote interface), version "LI-V2.5.2.26540 Firebird 2.5/tcp (raspberrypi)/P12" 
on disk structure version 11.2 

而且在Windows版本(与TADATA.FDB连接) :

ISQL Version: WI-V2.5.4.26856 Firebird 2.5 
Server Version: 
Firebird/x86/Windows NT (access method), version "WI-V2.5.4.26856 Firebird 2.5" 
Firebird/x86/Windows NT (remote server), version "WI-V2.5.4.26856 Firebird 2.5/XNet (WIN7PC)/P12" 
Firebird/x86/Windows NT (remote interface), version "WI-V2.5.4.26856 Firebird 2.5/XNet (WIN7PC)/P12" 
on disk sturcture version 10.1 
+0

供参考:不鼓励在标题中放置求解:http://meta.stackexchange.com/questions/116101/is-it-ok-to-add-solved-to-the-title-of-a-问题 – gavv

+0

我已恢复您添加“解决”的编辑。你通过接受解决问题的答案来标记问题,如果不存在这样的答案,那么通过所有方式发布你自己的答案并接受答案。 –

回答

3

你需要做一个备份,在运输的格式GBAK Windows计算机上,它树莓派机上恢复,他们有不同的CPU(86 VS ARM)和磁盘上结构不同。

有关使用gbak的详细信息,请参阅"Firebird Backup & Restore Utility" manual

+0

使用'nbackup.exe -U SYSDBA -P masterkey -B 0 E:\ tadata.fdb E:\ backup。nbk'我得到以下错误: '[ 问题ON“开始备份:提交”。 功能不支持 SQLCODE:-901 ] 失败:数据库错误# – Xevailo

+1

您需要使用gbak http://www.firebirdsql.org/manual/gbak.html nbackup主要用于备份与快照(Nbackup可以不能创建可移动的备份,即:可以在不兼容的平台或其他服务器版本下进行还原的备份。)http://www.firebirdsql.org/manual/nbackup-overview.html – Mariuz

+0

使用gbak我能够创建可导入的备份也可以在pi上运行。非常感谢你! – Xevailo

0

如果你得到:

[ PROBLEM ON "begin backup: commit". feature is not supported SQLCODE:-901 ] 

,而在你的Firebird数据库运行使用nbackup,这可能是因为数据库OSD为10.1和11.2不(用gstat找出)。

安装最新的Firebird版本,然后用GBak备份和恢复你的数据库。 NBackup将在完成之后工作。