标签: firebird

从csv文件生成插入SQL语句

我需要将一个csv文件导入Firebird,我花了几个小时尝试一些工具,但没有一个适合我的需求.

主要的问题是我一直在尝试的所有工具,如EMS数据导入Firebird数据向导,我希望我的csv文件包含我的表所需的所有信息.

我需要在insert语句中编写一些自定义SQL,例如,我有一个带有城市名称的cvs文件,但由于我的数据库已经有另一个表中的所有城市(规范化),我需要在插入中编写一个子选择查找城市并写入其ID的语句,我也有一个存储过程来创建GUID.

我的Insert语句是这样的:

INSERT INTO PERSON (ID, NAME, CITY_ID) VALUES((SELECT NEW_GUID FROM CREATE_GUID), :NAME, (SELECT CITY_ID FROM CITY WHERE NAME = :CITY_NAME)
Run Code Online (Sandbox Code Playgroud)

我知道写一个应用程序来做这个很容易,但我不喜欢重新发明轮子,我确信有一些工具可以做到这一点.

你们能给我一些建议吗?

sql csv firebird insert

53
推荐指数
5
解决办法
8万
查看次数

什么是用于Java桌面应用程序的最佳数据库

以下哪个数据库最适合大型桌面应用程序:Firebird,JavaDB,hsqldb?我需要性能,易用性和完全免费的许可证.

java database firebird

26
推荐指数
2
解决办法
3万
查看次数

Postgres与Firebird

我希望在我的下一个开发项目中使用Firebird或Postgres ......主要是因为两者都可以在类似BSD的许可下使用.

我在http://web.archive.org/web/20100305134128/http://www.amsoftwaredesign.com/pg_vs_fb找到了两个数据库的比较

但是这种比较已经有了4年多的历史,而且这两个数据库都有很长的路要走.

有没有人介意更新比较表,以便与Firebird和Postgres的当前版本相关...或者有一个链接到最近在两个数据库之间进行了良好比较的网站?

database postgresql firebird

24
推荐指数
4
解决办法
3万
查看次数

视图和实体框架

我在我的数据库中创建了一个视图,我希望将其包含在我的实体模型中.但是,当我尝试通过VS 2008更新实体模型时,会显示一条警告消息,通知我我正在尝试添加的TABLE或VIEW没有主键.

似乎为了向模型添加视图,这必须有一个关键字段!如果不允许视图具有关键字段,如何将此视图添加到我的模型中,至少在我正在使用的DBMRS的firebird中是这样.

知道如何解决这个问题吗?

firebird entity-framework views

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

SELECT语句中的列别名不适用于SQuirrel SQL + Firebird

我尝试使用SQuirrel SQL 3.4 + Firebird 1.5 +驱动程序JDBC Jaybird 2.2.[0 | 1](JVM 1.7.0_03)在SELECT语句中添加列别名,但不起作用.列别名显示为列的原始名称.在另一个工具(DBExpert)中,相同的语句可以正常工作.

声明:SELECT column1 AS alias1, column2 FROM table;
合力列名SquirrelSQL:column1 - column2
合力列名DBExpert:alias1 - column2

尝试在别名周围添加'和',但也无法正常工作.

有人有想法吗?

编辑:我将JDBC Jaybird驱动程序更新为2.2.1版本(9月30日发布),问题仍然存在.

编辑2:问题已解决!

问题是由Squirrel SQL的默认首选项引起的.

要解决此问题,请转到"文件" - >"全局首选项",在"数据类型控件"选项卡中找到"常规(适用于所有类型)"并标记组合框"在结果标题中使用列标签而不是列名称".

见截图:http://i1-win.softpedia-static.com/screenshots/SQuirrel-SQL-Client_4.png?1345342622

请享用.

sql firebird jdbc squirrel-sql jaybird

21
推荐指数
2
解决办法
8165
查看次数

建议多个日历,日期和持续时间使用哪种数据结构?

我需要存储由多个不同日历产生的日期和持续时间.特别是我需要存储以下日期:

  1. 在不同的时间跨越不同国家的格里高利日历
  2. 涵盖至少500年的历史时期
  3. 处理多种类型的日历 - 月球,太阳能,中国,金融,基督教,UTC,穆斯林.
  4. 处理英国3月31日至12月31日年底的变化,以及其他国家的可比变化.

我还需要存储我定义为两个时间戳(日期和时间)之间差异的持续时间.这意味着需要能够存储"零"日期 - 因此我可以存储持续时间,例如,三个半小时; 或10分钟.

我有所需计算的详细信息.Firebird的时间戳基于日期函数,该函数从公元100年1月1日开始,因此无法按照我需要记录它们的方式使用.此外,此数据类型已准备好(与大多数时间戳功能一样),以记录自基准日期以来的天数; 它不适合记录日历日期.

谁能建议:

  1. 用于存储满足上述要求的日期和持续时间的数据结构
  2. 对这种数据结构的引用OR
  3. 提供指导来构建此类存储OR
  4. 任何可以帮助我解决的问题.

编辑:

@Warren P在他的回答中提供了一些出色的工作.我显然没有完全解释我所寻求的内容,因为他的工作主要集中在计算以及如何计算这些计算上.所有有价值和有用的东西,但不是我打算传达的问题.

我确实知道了在日期的各种表示之间进行转换所需的所有计算,并且我对如何实现它们有相当好的想法(使用Warren建议的元素).但是,我的要求是存储符合上面列出的各种标准的日期.示例:要存储的日期 - 'June June 13 Charles II'.我正在尝试确定存储此类日期的适当结构.

编辑:

我修改了我提出的架构.我已在每个表中列出了属性,并通过示例定义了表和属性,在实体框的第三部分中给出.我用这个给出的例子问题答案通过例如我的定义,我的问题,以对应修改了的例子.虽然我通过描述其他人的例子证明了我的模式,但这种模式可能仍然过于复杂; 过分析; 错过了一些明显的简化,可能很难实现(事实上,这可能是完全错误的).任何意见或建议都是最受欢迎的.

在此输入图像描述

delphi firebird datetime calendar date

20
推荐指数
1
解决办法
1161
查看次数

使用Delphi应用程序,Firebird错误"用户名和密码未定义"

我有一个使用Delphi 2006和Firebird 2.5的应用程序.对于连接,请使用Delphi的Interbase组件.我在设计时设置了一个用户名,密码为tc的TIBDatabase,并且工作正常,但是当我想在另一台PC上运行应用程序时(首先我在它上面安装Firebird 2.5),我收到了这个错误:

Statement failed, SQLSTATE = 28000
Run Code Online (Sandbox Code Playgroud)

您的用户名和密码未定义.请您的数据库管理员设置Firebird登录.

这是什么?我怎么解决这个问题?

delphi firebird delphi-2006

19
推荐指数
2
解决办法
7万
查看次数

在其他数据库中EXPLAIN SELECT

我发现EXPLAIN SELECT查询在MySQL中非常有用,因为它提供了有关如何执行SQL的信息,并提供了分析的机会,例如,您应该添加的缺失索引,以便在执行查询本身和分析统计数据之前改进响应.

我的问题是:在像MS Sql,Firebird,Ingres这样的数据库中,是否有类似的命令?

在Firebird中我们有PLAN,但是非常弱,因为很多时候为了查看一个简单的错误,必须运行很长的查询.

最好的祝福,

Mauro H. Leggieri

mysql oracle firebird ingres sql-execution-plan

18
推荐指数
1
解决办法
6419
查看次数

MySQL vs Firebird vs SQLite

我们将实施一个基于公司(非开源)的软件,我实在无法选择我将使用哪一个.我可以在这里看到它们之间的差异, 但是我需要更具体的信息,比如真的MySql对于非开源项目(基于这个博客)不是免费的,或者它们在部署中的比较如何?

编辑:我需要扩展我的问题.我们只是在现有项目中实现API.这将用作独立程序,但它是一个嵌入式系统项目,因此部署非常重要.我知道SQLite很容易部署,但我可以看到有一些缺点.你能否告诉我哪种情况可以根据这种情况更好地使用?

谢谢你们

mysql database sqlite firebird

18
推荐指数
2
解决办法
2万
查看次数

C#构造参数查询SQL - LIKE%

我正在尝试为C#中的参数查询构建SQL以查找包含该LIKE %%命令的查询.

这是我想要实现的(请注意数据库是Firebird)

var SQL = string.format("SELECT * FROM {0} WHERE {1} LIKE '%?%'", TABLE, NAME);
 cmd.Parameters.AddWithValue(NAME, "JOHN");
Run Code Online (Sandbox Code Playgroud)

现在我尝试了每一个排列以使参数起作用,我已经尝试过;

我似乎无法使其工作,我如何使用LIKE查询的参数工作.

欢迎提出建议!

c# sql parameters firebird

17
推荐指数
2
解决办法
4万
查看次数