- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试查询 Firebird 数据库的 SQL 方言(使用嵌入式驱动程序):
procedure TFrmFireDACEmbed.BtnGetDBDialectClick(Sender: TObject);
var
lFDConnection : TFDConnection;
lDriverLink : TFDPhysFBDriverLink;
l : Integer;
begin
if not DlgOpen.Execute then Exit;
lDriverLink := TFDPhysFBDriverLink.Create(nil);
lFDConnection := TFDConnection.Create(nil);
try
lDriverLink.DriverID := 'FBEmbedded';
lDriverLink.VendorLib := 'fbembed.dll'; // 32-bits embedded
lFDConnection.DriverName := S_FD_FBId;
lFDConnection.Params.Database := DlgOpen.FileName;
lFDConnection.Params.Add('Server=127.0.0.1');
lFDConnection.Params.UserName := 'SYSDBA';
lFDConnection.Params.Password := 'masterkey';
lFDConnection.LoginPrompt := False;
lFDConnection.Open;
l := lFDConnection.Params.IndexOf('SQLDialect');
if l <> -1 then
ShowMessage(lFDConnection.Params[l])
else
ShowMessage('SQLDialect not found');
finally
lFDConnection.Close;
lFDConnection.Free;
lDriverLink.Free;
end;
end;
但是lFDConnection.Params
仅包含DriverID
, Database
, Server
, User_Name
, Password
.
检查员显示:
(nil, $2F22820, #$D#$A, nil, 0, ',', '"', '=', [soWriteBOM,soTrailingLineBreak,soUseLocale], (('DriverID=FB', nil), ('Database=D:\Temp\KLANTEN.GDB', nil), ('Server=127.0.0.1', nil), ('User_Name=SYSDBA', nil), ('Password=masterkey', nil), ('', nil), ('', nil), ('', nil)), 5, 8, False, dupIgnore, False, (FireDAC.Stan.Def.TFDDefinition.ParamsChanged,$2F5C4F0), (FireDAC.Stan.Def.TFDDefinition.ParamsChanging,$2F5C4F0), False, TFDConnectionDef($2F5C534) as IFDStanDefinition)
和lFDConnection.Params.SQLDialect
编译器无法识别。
深入挖掘系统表,我发现对于方言 3 db 的查询
select mon$sql_dialect from mon$database
将返回 3,但对于旧版本 mon$database
不存在。
如何检索任何方言的 SQL 方言?
目的是重写使用“幕后”函数的旧代码,例如 isc_attach_database
, isc_database_info
(必须动态链接, GetProcAddress
等)。
最佳答案
您可以用以下代码替换旧代码:
uses
FireDAC.Phys.IBWrapper;
procedure TForm1.Button1Click(Sender: TObject);
var
SQLDialect: Integer;
IBDatabase: TIBDatabase;
begin
IBDatabase := TObject(FDConnection1.CliObj) as TIBDatabase;
SQLDialect := IBDatabase.db_sql_dialect;
end;
您可以通过以下方式指定 SQL 方言的连接定义参数:
FDConnection1.Params.Add('SQLDialect=1');
或者通过类型转换为特定的 Firebird DBMS 连接定义类,如下所示:
TFDPhysFBConnectionDefParams(FDConnection1.Params).SQLDialect := 1;
关于delphi - 如何查询 Firebird SQL 方言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49404046/
Hibernate是独立于数据库的。因此,无论我们将在应用程序中使用什么数据库,我们都需要设置与该数据库相关的方言。 例如,假设我们正在使用MySQL数据库,那么我们需要下面的方言: org.hibe
我正在使用 Hibernate 从 sql server 2008 访问数据。同时执行以下代码 Session session = sessionFactory.openSession(); Stri
我的 PostgreSQL 版本是10.5。 hibernate.version 4.3.8.Final 的正确 Hibernate 方言是什么? 请注意,问题是关于正确的 Hibernate Dia
Hibernate 可以选择自动检测 hibernate.dialect .如何检索该自动检测到的值?我无法找到有关此的任何信息。 最佳答案 您可以从 SessionFactory 检索它但您需要将其
我对 Sequelize 还很陌生,虽然我以前在 Node 上工作过,但我没有使用任何 ORM 框架。目前我正在使用新的 SQL DB(sequelize 不支持)并希望通过对现有方言进行原型(pro
我遇到了一个奇怪的问题,目前无法解决。 今天我无法再启动我的 grails 应用程序。应用程序代码没有改变,上周运行顺利。 这是输出: | Loading Grails 2.0.3 | Configu
我是 Hibernate 新手。在阅读 Hibernate 时,我遇到了 Dialect 属性。无论我们在应用程序中使用什么数据库,我们都需要设置与该数据库相关的方言,Hibernate 将生成与该数
对于用 Python 编写 Lisp 方言/解释器,您有什么建议吗?我想从几个基本命令开始,例如 set、print 和 define 或其他命令。 最佳答案 Python 中有一个功能齐全的 Sch
是否有任何 Lisp 或 scheme 方言可以很好地支持数组和线性代数操作。我所说的良好支持并不是指 BLAS/LAPACk 的接口(interface),而是语言本身的高效数组原语。比如说,如果它
我在 PhpStorm 中总是遇到这样的问题,即我的 PDO 准备语句带有下划线,显示为“在主题类中找不到方法‘(ex.execute)’”。 是否有可能将 PDO/准备好的语句添加到 PhpStor
在我的应用程序中,我将 Hibernate 与 SQL Server 数据库一起使用,所以我设置了 在我的 persistence.xml 中。 在某些情况下,我想对包含 NULL 的记录进行排序,
我已经实现了 Hibernate's multitenant database architecture ,其中根据租户选择特定的数据库连接。我正在使用 Spring 4.3 和 Hibernate
我有以下 hibernate.cfg.xml NHibernate.Driver.OracleClientDriver User ID=user;Password=passw
在 Vim 中,需要使用\(\) 来对一些字符序列进行分组。其他特价商品也有相同的行为:\{\}。 是否可以将正则表达式样式更改为像在 perl 中一样?如何切换? 反而 \\( 我会 ( ??? 最
我正在使用 Spring 3.2.1、EclipseLink 2.4 和 JPA 2.0 当我使用非默认隔离级别时出现错误。 Exception in thread "main" org.spring
我想从 SWI-Prolog 切换到 Prova - 但似乎比预期的要难: 谓词如 succ()不可用,操作如 Var1+Var2>Var3不工作(显然它必须是 Var3
我正在尝试查询 Firebird 数据库的 SQL 方言(使用嵌入式驱动程序): procedure TFrmFireDACEmbed.BtnGetDBDialectClick(Sender: TOb
任何在 BASIC 环境下长大,后来转向另一种语言的人,都很难习惯使用“(a == b)”而不是“(a = b)”来测试相等性。 是否有一种 BASIC 方言使用“==”运算符进行比较,而不是重载“=
我的应用程序中使用了多个数据库,redshift 就是其中之一。由于使用 hibernate 框架来配置连接,我尝试使用适当的方言进行红移。但是 PostgreSQL9Dialect 和 MySQL5
您知道是否有将 Amazon SimpleDB 与 NHibernate 一起使用的方法吗? LightSpeed seems to be compatible . 最佳答案 NHibernate 更
我是一名优秀的程序员,十分优秀!