小编And*_*mar的帖子

无法在SSRS中编辑或删除计划报告

在SSRS中编辑和删除计划报告时,我当前收到以下错误:"只允许sysadmin角色的成员更新或删除其他登录所拥有的作业."

我已经尝试将作业的所有者更改为SSRS使用的服务帐户,我已将用户添加为sysadmin,并且我已检查Reporting Services本身的受限帐户的用户和密码.没有什么能有所作为.

报告服务日志只显示:

w3wp!library!a!06/03/2009-01:23:42:: e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException: An internal error occurred on the report server. See the error log for more details., ;
 Info: Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException: An internal error occurred on the report server. See the error log for more details. ---> System.Data.SqlClient.SqlException: Only members of sysadmin role are allowed to update or delete jobs owned by a different login.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) …
Run Code Online (Sandbox Code Playgroud)

sql-server reporting-services

3
推荐指数
1
解决办法
3862
查看次数

用于从可能的null db值分配值的优雅语法

对于某些上下文,记录类SaleAmount属性是

public decimal? SaleAmount
{
    get;
    set;
}
Run Code Online (Sandbox Code Playgroud)

理想情况下,我会这样做

record.SaleAmount.Value = 
sql.Reader.IsDBNull(IDX_SALEAMOUNT) ? null : 
    sql.Reader.GetDecimal(IDX_SALEAMOUNT);
Run Code Online (Sandbox Code Playgroud)

唉编译器,这不是朋友,因为......

无法确定条件表达式的类型,因为''和'decimal'之间没有隐式转换

那么你如何优雅地表达这一点,并且不要像下面那样玩明显的卡片......

if (!sql.Reader.IsDBNull(IDX_SALEAMOUNT))
    record.SaleAmount = sql.Reader.GetDecimal(IDX_SALEAMOUNT);
Run Code Online (Sandbox Code Playgroud)

或者是最佳解决方案?

c#

3
推荐指数
1
解决办法
3121
查看次数

如何使用group by statement + max函数加速SQL查询?

我有一个包含数百万行的表,我需要做大量的查询,如下所示:

select max(date_field) 
where varchar_field1 = 'something' 
group by varchar_field2;
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  • 有没有办法创建索引来帮助这个查询?
  • 我有哪些(其他)选项来增强此查询的性能?

sql oracle

3
推荐指数
1
解决办法
9065
查看次数

MSSQL JOIN ON GROUP BY太慢了

我在MSSQL中有以下查询

SELECT TOP 50 CustomerID FROM Ratings
WHERE CustomerID != 915
AND MovieID IN (SELECT DISTINCT MovieID FROM Ratings WHERE CustomerID = 915)
GROUP BY CustomerID
ORDER BY count(*) DESC
Run Code Online (Sandbox Code Playgroud)

它超级快.当我尝试在这样的子查询中使用它时.

SELECT * FROM Ratings
WHERE MovieID = 1 AND
CustomerID IN (SELECT TOP 50 CustomerID FROM Ratings
    WHERE CustomerID != 915
    AND MovieID IN (SELECT DISTINCT MovieID FROM Ratings WHERE CustomerID = 915)
    GROUP BY CustomerID
    ORDER BY count(*) DESC)
Run Code Online (Sandbox Code Playgroud)

关于为什么这么慢以及如何加快速度的想法?我的主键是(MovieID-CustomerID),我在CustomerID上添加了一个索引

database sql-server optimization join subquery

2
推荐指数
1
解决办法
6476
查看次数

Sql Server中的夏令时

我们使用的是一个以C/Unix格式存储日期的旧应用程序.C时间基本上是自1970年1月1日以来的秒数.日期在SQL Server数据库中存储为整数.我正在为使用这些日期的报告撰写视图.

到目前为止,我正在从UNIX时间转换为本机日期时间:

DateAdd(s,3600+unix_time,'1/1/1970')
Run Code Online (Sandbox Code Playgroud)

3600将从UTC转换为我们当地的GMT + 1时区.这在冬天是准确的,但在夏天,由于夏令时,它是一小时.

在SQL Server中是否有内置的从UTC转换为本地时间的方法?

sql sql-server time

2
推荐指数
1
解决办法
8720
查看次数

WHERE中的SQL SHA1

在我的程序中,我们将用户的IP地址存储在记录中.当我们向用户显示记录列表时,我们不想泄露其他用户的IP,因此我们将SHA1哈希.然后,当用户点击记录时,它会转到这样的URL:

http://www.example.com/allrecordsbyipaddress.php?ipaddress=SHA1HASHOFTHEIPADDRESS
Run Code Online (Sandbox Code Playgroud)

现在,我需要按SHA1哈希中指定的IP地址列出所有记录.我试过这个:

SELECT * FROM records 
WHERE SHA1(IPADDRESS)="da39a3ee5e6b4b0d3255bfef95601890afd80709"
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我该怎么做?
谢谢,艾萨克沃勒

mysql sql sha1 where where-clause

2
推荐指数
1
解决办法
1万
查看次数

Transact-SQL:插入xyz(从abc中选择*)

我想在MS SQL中实现一个在Oracles PL/SQL中看起来像这样的构造:

declare
asdf number;
begin
for r in (select * from  xyz) loop
   insert into abc (column1, column2, column3) 
   values (r.asdf, r.vcxvc, r.dffgdfg) returning id into asdf;

    update xyz set column10 = asdf where ID = r.ID;
end loop;
end;
Run Code Online (Sandbox Code Playgroud)

任何想法如何实现这将是有帮助的.

提前致谢

sql t-sql sql-server for-loop

2
推荐指数
1
解决办法
1万
查看次数

SQL Server 2005 睡眠 SPID 阻塞另一个 SPID

我发现我的 SQL Server 数据库有许多休眠进程,看起来这些休眠 SPID 之一正在阻塞另一个进程,并且该进程也被挂起...

有人可以解释一下这一点吗...

1.) 睡眠进程如何阻塞另一个进程?2.) 我看到很多睡眠进程...这正常吗?

谢谢

sql sql-server blocking

2
推荐指数
1
解决办法
6804
查看次数

Sql server按值排序而不是按字段名称排序

假设我的表结构是这样的

ID       OEReference
---      ------------
1         00000634B9
2         00000634B6
3         0005000053
4         0002855071
5         0000940148
6         0001414825
7         00000634B9
Run Code Online (Sandbox Code Playgroud)

我希望他们以我的方式提供OEReference,订单应保持在输出中.我的sql就像

Select * from mytable where OEReference in ('00000634B9','0001414825','00000634B6')
Run Code Online (Sandbox Code Playgroud)

上述语句未按IN子句的顺序返回结果集.我知道ORDER BY CLAUSE是不可能的

我怎样才能在sql server中使用简单的sql语句.谢谢

sql sql-server

2
推荐指数
1
解决办法
757
查看次数

Sql查询保持"计数"已删除的行

我有一个机密网站...我正在尝试制作一个SQL查询,用于计算用户在过去7天内发布的广告数量,但我有一个问题...

我试图在用户个人资料中显示例如:[用户名]在过去7天内发布了30个广告

这是我的SQL查询 - >

SELECT COUNT(*) 
FROM table_name 
WHERE user_id = '[user_id]' AND created_date > NOW() - INTERVAL 7 DAY
Run Code Online (Sandbox Code Playgroud)

所以在我的情况下,"table_name"包含来自所有用户的所有广告,并且" user_id='[user_id]'"我向用户显示他的广告数量,向用户B显示他的广告数量等...

所以这个查询工作,它从"[用户名]正确计算广告的数量,但是,例如,如果用户在网站的进入和删除的1,2或任何他的广告的号码,这个号码会被"minused"已发布30过去7天内的广告"

  1. 例如,假设用户在过去5天内发布了20个广告 - 正确的结果是[用户名]在过去7天内发布了20个广告
  2. 现在用户进入网站并删除了4个广告 - 现在结果是[用户名]在过去7天内发布了16个广告

有人可以帮助我,我可以添加什么来查询,以便计数仍然显示正确的广告数量(在我的情况下是20个广告),即使广告被删除..

谢谢干杯

mysql sql database

2
推荐指数
1
解决办法
476
查看次数