我有以下脚本永远不会检索任何数据,因为Firebird/Interbase中的TimeStamp数据类型不是DateTime(*)
我应该怎么解决?TX.
with DMApp.qryValidPeriod_ do
begin
Close;
SQL.Clear;
SQL.Add('select P.* from PERIOD P, FISCAL_YR F');
SQL.Add('where');
SQL.Add('P.FISCAL_YR_ID = F.FISCAL_YR_ID and');
SQL.Add('F.ENTITY_DB_ID = :PRIMARY_DB_ID and');
SQL.Add('F.FISCAL_YR_ID = :CURR_FY_ID and');
SQL.Add(':pTranDate BETWEEN P.BEG_PERIOD and P.END_PERIOD');
ParamByName('pTranDate').AsDateTime := sBATCH_DATE;
Run Code Online (Sandbox Code Playgroud)
// BEG_PERIOD和END_PERIOD是TimeStamp数据类型,例如'2010-11-09 12:00'//参数返回数据类型,例如'2010-11-09'
(*)时间戳是Firebird/Interbase/SQL Server中可用的列数据类型...有助于确保数据完整性.每次插入或更新包含时间戳列的行时,时间戳都会自动更新.timestamp列中的值不是datetime数据,而是binary(8)varbinary(8)数据.timestamp数据类型与系统时间无关,它只是一个单调递增的计数器,其值在数据库中始终是唯一的(使其基本上是一个唯一的随机数.)
我有一个我无法确认的备份文件,但我99%肯定它是使用2.1版创建的.现在我尝试使用此命令使用版本2.1.4.18393恢复它:
c:\users\me\documents> "c:\Program Files\Firebird\Firebird_2_1\bin\gbak.exe" -C tmp.gbk "localhost:c:\users\me\documents\sgl.fdb" -v -user sysdba -password masterkey
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
gbak: ERROR:Expected backup version 1..8. Found 9
Run Code Online (Sandbox Code Playgroud)
我尝试使用firebird 2.5进行恢复但是得到了
gbak: ERROR:Malformed string
gbak:Invalid metadata detected. Use -FIX_FSS_METADATA option.
Run Code Online (Sandbox Code Playgroud)
我该如何恢复此文件?
我只是无法连接到Ubuntu上的Firebird.
通过终端我做:
rafaeljesus@ubuntu:/tmp$ isql-fb
Use CONNECT or CREATE DATABASE to specify a database
SQL> connect .my_database.gdb user sysdba password masterkey;
Statement failed, SQLSTATE = -922
file /tmp/cnes.gdb is not a valid database
Run Code Online (Sandbox Code Playgroud)
在网上搜索我意识到这发生在文件损坏时,情况并非如此......我不知道这是否是因为文件在gdb中.而不是fdb ..我不知道Firebird ...
我真的需要一些帮助.
我在Delphi中使用TSQLQuery执行插入.数据插入完美,但程序显示标题消息错误.有任何想法吗 ?.这是我的代码:
With DMConnect.qryCrearProyecto do begin
ParamByName('cliente').AsString := Self.Edit2.Text;
ParamByName('obra').AsString := Self.Edit3.Text;
ParamByName('ubicacion').AsString := Self.Edit4.Text;
ParamByName('nroEstudio').AsInteger := StrToInt(Self.Edit5.Text);
ParamByName('sondeo').AsInteger := StrToInt(Self.Edit6.Text);
ParamByName('nivelFreatico').AsFloat := StrToFloat(Self.Edit7.Text);
Open;
Close;
end;
Run Code Online (Sandbox Code Playgroud) 可能我会问一个常见的问题,但是当我尝试通过Jaybird与Firebird DB连接时,我真的不知道我做错了什么以及我能忘记什么.我已将Jaybird.jar添加到我的Java构建路径中,但仍然收到错误 java.lang.NoClassDefFoundError.
这是我的简单代码:
public class DBHelper {
public void tryConnect() {
try {
Class.forName("org.firebirdsql.jdbc.FBDriver");
} catch (ClassNotFoundException cnfe) {
System.out.println(cnfe.toString());
System.out.println("org.firebirdsql.jdbc.FBDriver not found");
}
}
}
Run Code Online (Sandbox Code Playgroud) 如何拥有自动递增的主键?例如:当我在字段名称处插入内容时,字段ID应该指定一个与最后一个值相对应的值.
id, name 1, test1 2, test2
所以我插入类似testX的名称,id应自动指定为3
我怎样才能做到这一点?
只是想知道是否有人知道有关如何专门为 FB3 创建 udf 的教程,或者该过程是否与 FB2.5 几乎相同。
我一直在网上寻找,但只能找到 FB2 的详细信息,我想确保我没有错过任何可能可用的新东西。
还有,有没有办法用 c# 构建 UDF,或者我需要用 c++ 或 Delphi 来做这些吗?
任何方向都会很棒,谢谢!
我需要使用触发器创建外键,而不仅仅是使用这样的更改表:
alter table WORKER
add constraint WORKER_idDepartment_FK
foreign key (idDepartment)
references DEPARTMENT (idDepartment);
Run Code Online (Sandbox Code Playgroud)
有人可以帮帮我吗?
我已经写了一个小型的Python应用程序了几周了。该应用程序从Firebird数据库读取数据,并将其复制到另一个DB。我正在使用嵌入式Firebird的FDB。
这是我的连接代码。
def createConnectionTo(path):
try:
connection = fdb.connect(
database=path,
user='SYSDBA',
password='masterkey',
charset='WIN1252'
)
print("Connessione al database riuscita!\n")
return connection
except fdb.fbcore.DatabaseError as details:
errorMsg = "ERRORE: impossibile connettersi al database!\nPer favore scegliere un altro file.\n\nDETTAGLI\n"+str(details).replace("\\n", "\n")+"\n"
print(errorMsg)
return False
except fdb.fbcore.ProgrammingError as details:
errorMsg = "ERROR: bad parameters value!\nPlease check your connection code.\nDETAILS: "+str(details)+"\n"
print(errorMsg)
return False
except Exception as errorMsg:
print("ERRORE: "+str(errorMsg))
input("Premi un ENTER per chiudere la finestra.")
return -1
Run Code Online (Sandbox Code Playgroud)
该代码适用于我计算机内的文件夹,但莫名其妙地不适用于我们本地网络中共享的文件夹。我使用os.path.exists()检查Python是否能够找到所选的共享文件夹,并且它始终返回True。
我一直收到此错误,而且我不知道如何解决该错误,即使我怀疑它与斜杠转换问题有些相关。
('Error while connecting to …Run Code Online (Sandbox Code Playgroud) 我真的很困惑 Firebird v2.5 备份/恢复过程。我应该使用什么来备份/恢复本地 Firebird 数据库: fbsvcmgr.exe、gbak.exe、isql.exe或nbackup.exe
这些都是选择还是我错了!
为 C++ 应用程序执行此操作的实用方法是什么?
第一次我应该如何知道数据库是否已经存在,以便我可以决定是否恢复它。