AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-65720

jdids's questions

Martin Hope
jdids
Asked: 2022-03-01 08:00:16 +0800 CST

从 SSRS 执行作业时返回 SSRS 中的 SQL 代理作业状态

  • 0

我正在从 SSRS 调用 SQL 代理作业并使用参数来确定要运行的作业。

我可以很好地运行这项工作。我要做的是根据工作状态向用户返回一条消息。

以下是它的执行方式:

IF @Job = 'Run'

BEGIN

EXEC msdb.dbo.sp_start_job 'Run selected job'
 
END

IF @Job = 'Delete Previous Run' AND @Confirm = 'DELETE'

BEGIN 

EXEC msdb.dbo.sp_start_job 'Delete Previous Run'

END

当我PRINT在语句之后放入代码EXEC时,唯一返回的是Job '<job name>' completed successfully

我希望在作业完成后立即返回 SQL 代理状态。我怎样才能做到这一点?

sql-server t-sql
  • 1 个回答
  • 129 Views
Martin Hope
jdids
Asked: 2021-12-14 13:01:59 +0800 CST

匿名访问 SSRS 报告

  • 0

我们希望 RaspberryPi 在 kiosk 模式下运行,并在没有任何用户交互的情况下自动在我们的 SSRS 门户上提取报告。

我希望我可以允许匿名访问此特定报告,并为我们的其他报告/文件夹保留 Active Directory 身份验证。

我已将“NT AUTHORITY\ANONYMOUS LOGON”添加到报告安全性中,但没有任何运气。

我想做的事可能吗?

我们正在运行 MSSQL 2019。

sql-server ssrs
  • 2 个回答
  • 1727 Views
Martin Hope
jdids
Asked: 2021-01-09 11:31:43 +0800 CST

默认情况下在不同的架构下创建表,而不是 [dbo]

  • 0

我试图让用户在设置为默认模式的模式中创建表,并将它们设置为模式的所有者。

当我运行此命令时,即使它们的默认架构不是[dbo],它仍然会在 [dbo]架构下创建表

EXECUTE AS USER = 'test'

CREATE TABLE TEST (T VARCHAR(10))

REVERT

我希望这样做的原因是因为我们使用的程序默认情况下使用 [dbo] 模式来复制数据。它在文档中声明表将使用正在运行存储过程的用户的模式前缀。

这可能吗?此用户创建的任何新表,我希望它使用其默认架构而不是[dbo]

sql-server sql-server-2019
  • 1 个回答
  • 391 Views
Martin Hope
jdids
Asked: 2020-11-21 09:36:59 +0800 CST

父/子汇总汇总

  • 0

我正在努力解决这个问题。我相信有人会简化它。

我们有一个父/子关系,我需要根据销售数量和销售额来汇总。

我们有一个存储父母和他们的孩子的表。看起来像这样:

Parent    Component
1000      1300
1000      1301

下订单时,我们的用户订购零件编号 1000,然后添加行项目 1300、1301 作为选项。父零件没有分配给它们的销售价值,但组件确实具有价值。所以我要做的是将销售订单上的所有内容汇总到父级别(销售和数量)。

以下是销售订单的外观:

SalesOrder    StockCode    ParentChild    Qty    Price
0001          1000         P              1      0
0001          1300         C              1      500
0001          1301         C              1      350
0001          1301                        1      400

正如您在上面看到的,我们可以StockCode在没有父级的情况下在此处拥有组件(1301)(将这些视为替换零件)。如果销售订单行没有ParentChild值,则需要从汇总中排除。

这就是我希望这些数据的外观。父母/孩子应该只有父母的数量。

SalesOrder    StockCode    ParentChild    Qty    Price
0001          1000         P              1      850
0001          1301                        1      400

我猜 STUFF/FOR XML PATH 会是一个很好的起点吗?

这是测试数据:

CREATE TABLE #Structure (
  Parent INT
 ,Component INT )
 
 INSERT INTO #Structure (Parent, Component)
 SELECT 1000, 1300
 UNION 
 SELECT 1000, 1301
 
 
 CREATE TABLE #SalesOrder (
   SalesOrder VARCHAR(4)
  ,StockCode INT
  ,ParentChild CHAR(1)
  ,Qty INT
  ,Price INT )

 INSERT INTO #SalesOrder (SalesOrder, StockCode, ParentChild, Qty, Price)
 SELECT '0001', 1000, 'P', 1, 0
 UNION
 SELECT '0001', 1300, 'C', 1, 500
 UNION
 SELECT '0001', 1301, 'C', 1, 350
 UNION
 SELECT '0001', 1301, NULL, 1, 400
 
 SELECT * FROM #Structure

 SELECT * FROM #SalesOrder

 DROP TABLE #SalesOrder
 DROP TABLE #Structure
sql-server t-sql
  • 2 个回答
  • 491 Views
Martin Hope
jdids
Asked: 2020-11-19 10:52:57 +0800 CST

如果值存在于不同的列中,则过滤行

  • 1

我们使用的是 SQL Server 2016 和 2019

我有一个数据集,我正在汇总父/子关系。我这样做是因为某些父行将返回SalesValue0,而它们的子行将返回我们正在寻找的值。

这是我的查询:

SELECT ART.StockCode
     , BOM.Component
     , ART.QtyInvoiced
     , ART.Invoice
     , ART.SalesValue
     , ART2.SalesValue
  FROM TABLE1 ART
  JOIN TABLE2 IM
    ON IM.StockCode = ART.StockCode
  LEFT OUTER JOIN TABLE3 BOM
    ON BOM.ParentPart = ART.StockCode
   AND IM.KitType = 'K'
  LEFT OUTER JOIN TABLE4 ART2
    ON ART2.StockCode = BOM.Component
   AND ART2.Invoice = ART.Invoice

以及它返回的数据

StockCode   Component   QtyInvoiced    Invoice     SalesValue   SalesValue2
315128      NULL        1.000000             1         154.32          NULL
317324      NULL        1.000000             1          68.31          NULL
317350      NULL        1.000000             1         428.90          NULL
318482      NULL        1.000000             1         171.24          NULL
320058      NULL        1.000000             1          28.58          NULL
320058      NULL        1.000000             1          28.58          NULL
320058      NULL        1.000000             1          28.58          NULL
900550      NULL        1.000000             1        2396.08          NULL
900572      NULL        1.000000             1        1448.84          NULL
900581      NULL        1.000000             1        2017.96          NULL
901012      900581      1.000000             1           0.00       2017.96
901012      317350      1.000000             1           0.00        428.90
901012      317324      1.000000             1           0.00         68.31
901062      900572      1.000000             1           0.00       1448.84
901062      318482      1.000000             1           0.00        171.24

我想要做的是排除任何StockCode在Component字段中具有相同Invoice数字的值

在上面的示例中,我们希望排除股票代码 900581、317350、317324、900572 和 318482,因为它们已经存在于该Component领域。

这就是我想要的:

StockCode   Component   QtyInvoiced    Invoice     SalesValue   SalesValue2
315128      NULL        1.000000             1         154.32          NULL
320058      NULL        1.000000             1          28.58          NULL
320058      NULL        1.000000             1          28.58          NULL
320058      NULL        1.000000             1          28.58          NULL
900550      NULL        1.000000             1        2396.08          NULL
901012      900581      1.000000             1           0.00       2017.96
901012      317350      1.000000             1           0.00        428.90
901012      317324      1.000000             1           0.00         68.31
901062      900572      1.000000             1           0.00       1448.84
901062      318482      1.000000             1           0.00        171.24
sql-server t-sql
  • 1 个回答
  • 160 Views
Martin Hope
jdids
Asked: 2020-11-17 12:28:33 +0800 CST

SQL Server 快照复制 - 是否有在 X 时间后清理快照文件夹的选项?

  • 0

我们正在运行从 2016 年到 2019 年 SQL Server 的快照。

我已经查看了 Microsoft 的文档,但没有看到明确的方法来实现这一点,而且我没有看到任何可以运行这种清理的发布者/订阅者的工作。

我们最近有一个驱动器填满,如果它是复制的本机功能,我想确保解决这个问题,否则我将运行一个 PowerShell 脚本来处理它。

sql-server replication
  • 2 个回答
  • 316 Views
Martin Hope
jdids
Asked: 2020-03-10 07:58:47 +0800 CST

执行 sp_update_jobstep 以更改 SQL 代理作业步骤类型

  • 0

当我打算对我们的 Ola Hallengren 索引脚本进行更改时,我注意到在一些 SQL Server 上,我们将索引作业作为“操作系统 (CmdExec)”步骤运行,而不是被称为“Transact-SQL 脚本 (T- SQL)”步骤。

我正在使用 CMS 来部署它,sp_update_jobstep并且我希望一切都作为“Transact-SQL 脚本(T-SQL)”。

似乎没有办法更改步骤(除非我在这篇 Microsoft 文章中混淆了术语)

use msdb
go

exec sp_update_jobstep @job_name = N'IndexOptimize_USER_DATABASES', 
                       @step_id = 1, 
                       @command = N'EXECUTE [dbo].[IndexOptimize], @Databases = ''USER_DATABASES'', @LogToTable = ''Y'', @LockTimeOut = 300'

有没有办法改变步骤类型?

sql-server sql-server-2016
  • 2 个回答
  • 3853 Views
Martin Hope
jdids
Asked: 2019-04-20 12:22:59 +0800 CST

SSRS 到 PowerBI 报告服务器迁移后,尝试输入数据时参数呈现愚蠢

  • 1

我们刚刚成功地将 SSRS 2016 实例迁移到 PBIRS。用户在尝试在多值参数中输入数据时报告了奇怪的行为。

当他们单击参数输入数据时,通常会出现一个下拉文本条目并输入多个值。仍然会发生这种情况,但是该框会渲染到屏幕的右下角,并且您只能在屏幕上看到该框(见图)这在所有 Web 浏览器中都会发生。

编辑:如果报告是全屏的,该框似乎显示参数应该显示的位置。我看不到我们在 SSRS 中使用的所有参数

PowerBI 报告服务器参数渲染问题

ssrs ssrs-2016
  • 1 个回答
  • 40 Views
Martin Hope
jdids
Asked: 2019-02-21 07:37:18 +0800 CST

如果返回 false,则 SSIS“执行流程任务”失败

  • 1

我有一个调用 Powershell 并检查文件夹是否为空的“执行进程任务”。如果返回 $false,我希望 SSIS 作业失败。

这是代码

param ([string] $FolderLocation)

$FolderLocation = 'C:\Temp\IsFolderEmpty\'

if( (Get-ChildItem $FolderLocation | Measure-Object).Count -eq 0)
{
    #Folder Empty
    return $true

} Else {

    return $false

} 

每当我在 SSIS 中运行它时,它总是运行,无论是否$true返回$false。我试过创建一个新变量并在其中使用它,StandardOutputVariable但没有任何运气。

ssis powershell
  • 1 个回答
  • 994 Views
Martin Hope
jdids
Asked: 2018-09-05 05:48:38 +0800 CST

在 WHERE 子句中更改运算符时,简单的递归 CTE 会爆炸

  • 1

正如标题所述,我有一个递归 CTE,当我更改 WHERE 子句中的运算符时,它会崩溃,即使只有两行数据也是如此。

CREATE TABLE #Recursion
(Parent varchar(10), Child varchar(10), TopDate datetime)


INSERT INTO #Recursion (Parent, Child, TopDate)
VALUES
('00003137', '00003137', '2018-08-31'),
('04536347', '00003137', '2017-02-28'),
('05458040', '05458040', '9999-12-31'),
('00269705',' 05458040',' 9999-12-31')

;WITH 
Parent AS
  ( SELECT parent
     , child
     , 1 as sort
     , TopDate
 FROM #Recursion 
WHERE parent = child
 UNION ALL
   SELECT s.parent
        , d.child
        , d.sort + 1
        , s.TopDate
 FROM Parent as d
 JOIN #Recursion s
   ON s.child= d.parent
WHERE s.TopDate < d.TopDate
)

  SELECT parent
       , child
       , sort
    FROM Parent 
ORDER BY parent, sort desc
OPTION (maxrecursion 0);

DROP TABLE #Recursion

如果我这样保留 where 子句,它就可以工作

WHERE s.TopDate < d.TopDate

一旦我将其更改为此,它就会爆炸并且无法完成

WHERE s.TopDate <= d.TopDate

如果日期小于或等于,我确实需要运行一些测试。为什么这不会工作,即使只有两行数据?

这是一些示例数据。请注意日期字段如何相同

parent      child       sort    TopDate
00003137    04536347    2       2017-02-28
00003137    00003137    1       2018-08-31
00269705    00269705    2       9999-12-31      
00269705    05458040    1       9999-12-31

除了具有相同 TopDates的数据之外,我可以让它处理所有数据

sql-server sql-server-2012
  • 1 个回答
  • 546 Views
Martin Hope
jdids
Asked: 2018-08-21 13:12:55 +0800 CST

简单的递归 CTE 陷入无限循环

  • 2

我需要递归查询来查找菊花链相关数据。我有以下查询

CREATE TABLE #source
(Parent varchar(10), Child varchar(10), Date datetime)


INSERT INTO #source
(Parent, Child, Date)
VALUES
('05529744', '05395782', '9999-12-31'),
('05395782', '05529744', '2017-12-31'),
('05147762', '05395782', '2016-12-31'),
('04564728', '05147762', '2016-09-30'),
('04299824', '04564728', '2013-07-31'),
('05224920', '04999841', '2017-03-31'),
('04999841', '05224920', '2016-10-31'),
('04824720', '04999841', '2015-12-31'),
('02917870', '04824720', '2015-06-30')

;with 
descendants as
  ( select parent, child as descendant, Date, 1 as level
    from #source
  union all
   select d.parent, s.child, d.Date, d.level + 1
     from descendants as d
  join #source s
    on d.descendant = s.parent
) 
select *
from descendants 

--order by parent, level, descendant
option (maxrecursion 0) ;

DROP TABLE #source

正如您从测试数据中看到的那样,父字段和子字段以菊花链形式来回连接。不幸的是,当我运行上述查询时,它陷入了无限循环,而我正在为为什么而摸不着头脑。

最终目标是让数据看起来像这样:

Parent      Child       Date          Rank
05529744    05529744    9999-12-31    1
05529744    05395782    2017-12-31    2
05529744    05147762    2016-12-31    3
05529744    04564728    2016-09-30    4
05529744    04299824    2013-07-31    5
05224920    05224920    2017-03-31    1
05224920    04999841    2016-10-31    2
05224920    04824720    2015-12-31    3
05224920    02917870    2015-06-30    4
sql-server
  • 1 个回答
  • 3395 Views
Martin Hope
jdids
Asked: 2016-06-04 13:48:23 +0800 CST

T-SQL:如果 parameter1 为 null,则使用 parameter2

  • 6

这是一个简单的,但我似乎无法弄清楚。

我有两个参数,1 和 2。如果一个参数传递了一个空值,则在 WHERE 子句中使用另一个参数。

前任:

SELECT ...
 WHERE CASE
    WHEN @Parameter1 IS NULL
    THEN Field2 = @Parameter2
    WHEN @Parameter2 IS NULL
    THEN Field1 = @Parameter1
  END

我知道这很简单,或者我的逻辑可能是错误的。任何帮助或方向表示赞赏。

sql-server t-sql
  • 3 个回答
  • 2840 Views
Martin Hope
jdids
Asked: 2016-05-19 06:14:42 +0800 CST

SSRS 2008 在 Chrome 中损坏

  • 1

请注意,这是 2008,而不是 2008 R2。

这不是一个未知问题,但我似乎无法让它工作。似乎我尝试过的所有解决方案都与 2008 R2 及更高版本有关。Chrome 已更新,现在我们的报告显示在一个小窗口中,而不是完整的浏览器窗口中。

我到处寻找解决方案。这似乎是通用解决方案,但它不想工作,即使在重新启动 SSRS 之后也是如此:

SSRS 2008 R2 - SSRS 2012 - ReportViewer:报告在 Safari 和 Chrome 中为空白

我对此不知所措。2008 R2 在报告服务配置方面有很大不同吗?这里的简单答案是使用 IE 生成报告,但我们的 SAAS 应用程序在 Chrome 上运行得更好,并链接到我们的报告服务报告。

尝试了其他修复:

  • 我可以从 Chrome 商店中找到的任何东西:SSRS Fix、IE Tab 都可以工作,但我们有超过 75 台机器,现在购买许可不是一个选择
sql-server sql-server-2008
  • 2 个回答
  • 489 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve