首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OracleCommand并不总是尊重SchemaOnly

OracleCommand并不总是尊重SchemaOnly
EN

Stack Overflow用户
提问于 2020-07-17 13:41:05
回答 1查看 61关注 0票数 0

对于SqlClient,我能够为许多查询指定CommandBehavior.SchemaOnly,以获得查询结果模式。但是,当对Oracle使用相同的命令行为时,OracleClient似乎会执行查询,而不仅仅是获取模式。在下面的示例中,我可以看到该行确实被插入到我的数据库中,而我只是希望运行一个仅模式查询:

代码语言:javascript
复制
OracleCommand command = connection.CreateCommand();
command.CommandText = "insert into Test (ID, Name) values (1, 'test')";
var reader = command.ExecuteReader(CommandBehavior.SchemaOnly);
var dataTable = reader.GetSchemaTable();

我在有关CommandBehavior的OracleClient文档中找不到太多信息。OracleClient是否实现此选项?或者,我应该使用不同的方法来获取模式,而不运行查询吗?

EN

回答 1

Stack Overflow用户

发布于 2020-07-17 13:50:43

这里的问题是SchemaOnly调用SET FMTONLY ON,这是一个SQL Server TSQL命令。

查询仅返回列信息。使用SchemaOnly时,SQL Server的.NET框架数据访问接口位于正在执行的语句之前,且SET FMTONLY为ON。

使用这个CommandBehavior在Oracle上是行不通的,你需要找到另一种方法。

也许之前问过的这个问题可以有所帮助:

SET FMTONLY ON in Oracle queries

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62947784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档