标签: firebird

如何比较Firebird TimeStamp和Delphi DateTime?

我有以下脚本永远不会检索任何数据,因为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数据类型与系统时间无关,它只是一个单调递增的计数器,其值在数据库中始终是唯一的(使其基本上是一个唯一的随机数.)

sql delphi firebird

0
推荐指数
1
解决办法
1万
查看次数

从错误的版本恢复备份

我有一个我无法确认的备份文件,但我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)

我该如何恢复此文件?

firebird

0
推荐指数
1
解决办法
1万
查看次数

语句失败,SQLSTATE = -922 my_database.gdb不是有效的数据库

我只是无法连接到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 ...

我真的需要一些帮助.

database firebird database-connection

0
推荐指数
1
解决办法
5246
查看次数

从插入中的查询中未返回游标

我在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)

t-sql delphi firebird insert

0
推荐指数
1
解决办法
2708
查看次数

Jaybird java.lang.NoClassDefFoundError

可能我会问一个常见的问题,但是当我尝试通过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)

java firebird jdbc jaybird

0
推荐指数
1
解决办法
2319
查看次数

SQL主键增量

如何拥有自动递增的主键?例如:当我在字段名称处插入内容时,字段ID应该指定一个与最后一个值相对应的值.

id, name
 1, test1
 2, test2

所以我插入类似testX的名称,id应自动指定为3

我怎样才能做到这一点?

sql firebird

0
推荐指数
1
解决办法
995
查看次数

Firebird 3.0 UDF/外部函数教程

只是想知道是否有人知道有关如何专门为 FB3 创建 udf 的教程,或者该过程是否与 FB2.5 几乎相同。

我一直在网上寻找,但只能找到 FB2 的详细信息,我想确保我没有错过任何可能可用的新东西。

还有,有没有办法用 c# 构建 UDF,或者我需要用 c++ 或 Delphi 来做这些吗?

任何方向都会很棒,谢谢!

firebird user-defined-functions firebird-3.0

0
推荐指数
1
解决办法
1787
查看次数

如何使触发器像外键一样工作?

我需要使用触发器创建外键,而不仅仅是使用这样的更改表:

 alter table WORKER
      add constraint WORKER_idDepartment_FK
      foreign key (idDepartment)
      references DEPARTMENT (idDepartment);
Run Code Online (Sandbox Code Playgroud)

有人可以帮帮我吗?

sql database firebird

0
推荐指数
1
解决办法
2995
查看次数

从Windows本地网络连接到Firebird数据库

我已经写了一个小型的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)

python firebird firebird-embedded

0
推荐指数
1
解决办法
848
查看次数

如何备份/恢复 Firebird 数据库?

我真的很困惑 Firebird v2.5 备份/恢复过程。我应该使用什么来备份/恢复本地 Firebird 数据库: fbsvcmgr.exegbak.exeisql.exenbackup.exe

这些都是选择还是我错了!

为 C++ 应用程序执行此操作的实用方法是什么?

第一次我应该如何知道数据库是否已经存在,以便我可以决定是否恢复它。

backup firebird restore

0
推荐指数
1
解决办法
8656
查看次数