问题标签 [fmtonly]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
715 浏览

sql - 如何在不知道输入参数的情况下获取存储过程返回的列?

我想虚拟地执行一个存储过程并获取返回的列。我使用fmtonly如下:

但是使用 fmtonly 导致运行所有代码行并且这项工作的结果是错误。有什么解决方案可以完成这项工作吗?

0 投票
1 回答
197 浏览

tsql - SQL,FMTONLY 上的无穷大错误

我使用 ASP Classic 连接到数据库,当我尝试执行不存在的 proc 时,永远不会返回错误并且 SQL Profiler 继续调用:

我的网络应用程序一直在等待错误。

这是我的 ASP:

有谁能够帮我?

谢了。

0 投票
2 回答
1249 浏览

java - 你如何让 JSTL fmt 标签用 () 形成负数

如何让 JSTL fmt 标记用 () 格式化负数?例如,如果我有 -20,它将显示 (20)。正数是正常的。

0 投票
3 回答
1006 浏览

spring - 使用 Spring ResourceBundleMessageSource 和 FMT 进行国际化

我们正在尝试使用 Spring ResourceBundleMessageSource 和 FMT 实现国际化。但是当我们在 JSP 中使用它时,页面将值显示为???message.key??? . 你能帮我们解决这个问题吗?非常感谢您的回答。

下面是配置:

spring-servlet.xml 条目

在 JSP 中,我们添加了导入的

同样在创建的战争中,我们在 WEB-INF/messages 文件夹下有 msgs.properties 文件。

非常感谢帮助我们识别我们所犯的错误。谢谢你。

0 投票
1 回答
1869 浏览

sql-server - SQL Server SET FMTONLY 已弃用。你如何获得多个结果集的结构?

我知道在 SQL Server 2012 SET FMTONLY 将被弃用之后。我开发了一个复杂的代码生成系统,它分析存储过程的结果并为存储库、数据契约和业务库生成 C# 代码。我正在使用 SET FMTONLY 来分析存储过程的结果集,以了解存储过程正在生成的数据合同。这个合约被生成到一个接口和它的实现中。我能够采用返回多个记录集的存储过程并将数据作为数据合同返回给客户端。

我找不到 SET FMTONLY 的替代品来分析存储过程的所有结果集。有没有人对我如何检索存储过程的每个结果集的列、数据类型等有任何见解?

谢谢你的帮助。

0 投票
0 回答
830 浏览

c# - 当我的 SP 将用户定义的表类型作为输入参数时,EF 反向 POCO 生成器不创建自动返回模型

我正在使用 EF 反向 POCO 生成器。当我保存 .tt 文件时,它会自动生成所有存储过程的返回模型。

在我的几个 SP 中,我有一个用户定义的表类型作为输入参数之一。对于那些 SP,我的 POCO 没有创建返回模型。早些时候,我遇到了普通 SP 的这个问题,为此我使用了临时表中的返回查询。在 SP 之上添加SET FMTONLY OFF修复了该问题。

我很确定使用用户定义的表类型会导致问题,因为当我删除它们时,会生成返回模型。我正在寻找解决此问题的方法。任何帮助将不胜感激。

0 投票
0 回答
54 浏览

sql - Fmtonly on 列名中的空格

我有一个返回一些列的 SP,每个列名之间都有空格,比如

分支代码分支名称(我们在我们的 SP 中分配别名)

现在,在关闭 fmtonly 时,我得到了 SP 返回的列名,但是当我将 fmtonly 设置为 on 时,删除了列名之间的空格。

在将 fmtonly 设置为 on 时,是否可以获得 SP 返回的相同列名?

谢谢

0 投票
1 回答
447 浏览

ssis - 从 SSIS 中的 OLE DB 源获取第二个数据集

我需要从 DB1 读取数据并将它们写入另一个 DB2。我使用带有 CTE 和临时表的复杂查询,不,我不能将此查询放在 SProc 中。我使用 OLE DB 源和 OLE DB 目标。

当我将查询作为 SQL 命令放在 OLEDBSource 中时,我通常会抱怨由于 CTE 正在使用临时表而无法确定元数据。

我不能使用“带有结果集”的解决方法,因为它不是 SProc。所以我尝试了另一种解决方法,“SET FMTONLY ON/OFF”。

现在 OLE DB 源接受我的查询,但它输出两个数据集,第一个是空的,第二个是我需要的数据。OLE DB 目标不写入单行,因为它只读取第一个结果集,即空结果集。

我该如何解决这个问题?

我无法更改其他临时表,基本上我无法更改查询。如果可能,我正在寻找 SSIS 解决方案,而不是 SQL 解决方案。谢谢。

0 投票
0 回答
40 浏览

sql-server - 将 SQL Server 存储过程添加到实体框架模型的推荐方法是什么

概括

在我们的应用程序中,我们使用 Entity Framework 6 和 SQL Server 2016。在将具有复杂逻辑的存储过程导入 EF 模型时,特别是在使用临时表时,我们将其放在首位:

这会导致存储过程运行完整的逻辑并因此返回正确的输出格式,从而允许 EF 模型正确生成复杂类型。

一般来说,它工作正常。但是,Microsoft 文档https://docs.microsoft.com/en-us/sql/t-sql/statements/set-fmtonly-transact-sql?view=sql-server-ver15指出:请勿使用此功能。所以我想知道推荐的方法是导入存储过程并正确生成复杂类型。

更多细节

首先,我被这个注释弄糊涂了,不要在微软网站上使用这个关于FMTONLY. 这不是ONEF 模型更新程序调用的相同命令(带有选项)吗?这意味着 EF 模型更新程序使用了不应使用的功能。

其次,我假设此 EF 模型更新程序行为旨在防止在使用所有输入参数 equal 执行存储过程时进行不必要的 DB 数据操作NULL。但实际行为似乎与这个假设不一致。

考虑下面一个简单的存储过程,我试图避免使用SET FMTONLY OFF. 在从 Visual Studio(2013,CU 5,Pro)更新 EF 模型时,我使用 SQL 分析器分析了确切的行为。

要点:

  1. EF 模型更新程序调用它,进入内部IF (1=0)(如预期的那样SET FMTONLY ON),并SELECT * from @tempTable正确运行。

  2. 它忽略return 0并继续运行存储过程主体的其余部分。

  3. 它跳过CREATE TABLE #TempValue但随后尝试运行INSERT INTO #TempValue当然不存在的,所以它在这里停止并且不执行SELECT * FROM #TempValue,这也会失败。

在这种情况下,复杂类型被正确生成,因为最后一次成功的选择是SELECT * from @tempTable. 但我觉得这只是运气,因为没有实际运行的后续选择。对我来说,这整个行为是有缺陷的,特别是跳过return 0然后CREATE TABLE #TempValue允许INSERT INTO;如果您确定允许INSERT INTO您不保留数据库数据?

因此,我们尝试过的两种实际可行的解决方法如下:

  1. 放在SET FMTONLY OFF上面。它有效,但我对此有点担心不要在 Microsoft 网站上使用此功能。

  2. 注释掉整个 SP 正文并DECLARE @tempTable table ... SELECT * from @tempTable按照上面的示例添加。更新 EF 模型后,删除添加的块并取消注释原始代码。每次更新 EF 模型时都执行此操作,因此效率不高。

什么是正确且推荐的方法?