我对Firebird客户端和服务器版本有疑问.我知道由于ODS更改,数据库文件必须与Firebird服务器匹配.即Firebird建议在服务器版本2.5.1和2.5.2之间备份/恢复数据库文件...
但客户端与服务器的连接怎么样?
哪种组合可以?
客户端2.5.2 - >服务器2.5.2(应该没问题;;))
客户端2.5.2 - >服务器2.5.1
客户端2.5.1 - >服务器2.5.2
客户端2.5.x - >服务器1.5
客户端1.5.x - >服务器2.5.2
有任何已知的问题吗?Firebird的推荐是什么?总是使用新的官方客户端是一个好的原因吗?但由于我们有很多客户安装,我无法确定服务器是否与客户端版本匹配.
希望有人能给我一些建议.
我通过谷歌做了一些研究,但找不到正确的答案。
我有一个 Firebird 数据库,我总是使用自己的域作为我的表字段。所有这些域都是用字符集 ISO8859_1 定义的。现在我想把它改成UTF8。如果我在 IBExpert 中尝试此操作,它会给我带来以下代码:
ALTER DOMAIN D_CHAR100 TYPE VARCHAR(100) CHARACTER SET UTF8;
Run Code Online (Sandbox Code Playgroud)
此更新有效。但它真的有效吗?所有字符都正确转换了吗,我现在是否已将我的字段更改为“真正的”UTF8??还是在内部保留为 ISO08859_1?
如果我在网上搜索,有人说:
和其他人说:
什么是对的?什么可能出错?我们有很多客户,我想通过脚本转换数据库。
在我的数据库中,我有几个INTEGER类型的字段.我需要将其中一些更改为BIGINT.
所以我的问题是,我可以使用以下命令吗?
ALTER TABLE MyTable ALTER COLUMN MyIntegerColumn TYPE BIGINT;
Run Code Online (Sandbox Code Playgroud)
包含的数据是否以正确的方式转换?转换后这列是"真正的"BIGINT列吗?
我知道如果此列有限制(Trigger,ForeingKey,...),这是不可能的.但如果没有限制,可以这样做吗?
或者通过帮助列转换它更好:
MyIntegerColumn -> MyIntegerColumnBac -> MyBigIntColumn
Run Code Online (Sandbox Code Playgroud) 目前我创建了一个ASP.NET WebApi应用程序.由于RESTful应用程序是会话无状态的我正在考虑如何保持开放的数据库连接?每次用户发送WebApi请求时,我也可以重新打开数据库.
但哪种解决方案会更好?
谢谢,安德烈亚斯