我正在尝试将C#DateTime变量转换为Unix时间,即自1970年1月1日以来的秒数.看起来DateTime实际上是自0001年1月1日以来的"滴答"数量.
我目前的想法是从我的DateTime中减去1970年1月1日这样:
TimeSpan span= DateTime.Now.Subtract(new DateTime(1970,1,1,0,0,0));
return span.TotalSeconds;
Run Code Online (Sandbox Code Playgroud)
有没有更好的办法?
Microsoft SQL Server允许您向视图添加索引,但为什么要这样做呢?
我的理解是一个视图实际上只是一个子查询,即,如果我说SELECT*FROM myView,我真的说SELECT*FROM(myView的查询)
看起来基础表上的索引将是最重要的索引.那你为什么要在视图上有一个单独的索引呢?
我正在尝试为SQL Server代理创建一个自动作业来运行.该工作应该运行我的SSIS包.
这是我到目前为止所拥有的:
EXEC sp_add_job @job_name = 'My Job'
,@description = 'My First SSIS Job'
,@job_id = @jobid OUTPUT
EXEC sp_add_jobstep @job_id =@jobid
,@step_name = N'Upload Data'
,@step_id = 1
,@command=N'/FILE "D:\Installs\Upload.dtsx"'
EXEC sp_add_jobstep @job_id = @jobid
,@step_name = N'Download Data'
,@step_id = 2
,@command=N'/FILE "D:\Installs\Download.dtsx"'
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我运行这个时,我得到一个错误说
'/'附近的语法不正确
我怀疑它/FILE在我的命令中抱怨.
我无法在任何地方找到有关在@command中使用的适当语法的文档 - 我从中找到/FILE了一些我发现的旧代码.在作业中运行SSIS包的正确语法是什么?
我有一个简单的gridview ItemTemplate,如下所示:
<asp:TemplateField HeaderText="User">
<ItemTemplate>
<a href="mailto:<%# Eval("Email") %>"><%# Eval("Name") %></a>
</ItemTemplate>
</asp:TemplateField>
Run Code Online (Sandbox Code Playgroud)
但是,并非此列表中的所有用户都有电子邮件存储在系统中,这意味着Eval("电子邮件")有时会返回空白.发生这种情况时,我宁愿在该字段上没有链接,因为如果没有电子邮件地址,mailto将无法运行.
我怎样才能做到这一点?我希望我可以在演示代码中使用IF语句,就像经典的ASP一样.如果没有,我想我可以在我的数据源上创建一个包含整个HREF html的属性......
我有一个网页,在页面加载时检查加密的cookie以确定用户身份.但是,当我在我的开发盒上本地测试页面时,我无法访问该cookie.
以前我使用appsetting来告诉页面它是否处于开发模式,并且在dev模式下它将加载固定的用户身份.然后我发现了Request.IsLocal
我可以这样检查一下:
if(Request.IsLocal){
FormsAuthentication.SetAuthCookie("testUser", false);
}else{
FormsAuthentication.SetAuthCookie(/*EncryptedCookieValue*/, false);
}
Run Code Online (Sandbox Code Playgroud)
这样安全吗?恶意用户有什么方法可以欺骗IsLocal吗?
我正在使用在我的SQL服务器上启用CLR的想法 EXEC sp_configure 'clr enabled', 1
但是,我正在与其他几个开发人员和他们的项目共享我的数据库服务器.我隐约听到他们可能是启用此问题的安全问题.
有谁知道这些问题可能是什么?CLR在SQL Server上使用是否安全?
我整个上午一直用这个撞在墙上.
以下SQL代码及其结果对我没有意义:
select CONVERT(INT, CONVERT(BINARY(30),2691485888))
Run Code Online (Sandbox Code Playgroud)
这导致:
-1060082528
Run Code Online (Sandbox Code Playgroud)
什么?为什么结果不等于我的原始整数?
我的整个目标是将一个整数转换为字节并将这些字节存储到数据库中,但是没有让这个基本的例子工作,我被卡住了.谁能解释我做错了什么?
顺便说一句,我使用的是Sql Server 2005(9.0.4340)
我使用SQL Server 2008中的死锁图在我的SQL Server中诊断出死锁问题.
问题与我的索引有关.我有两个查询:一个长时间运行的报告,其中有很多连接和子查询,它们根据基表上的两个不同日期提取数据,还有一个快速更新查询,它会更新该基表上的相同日期.我有两个索引,并且报告想要对它们两者进行共享KEY锁定,而更新查询需要对它们两者进行独占KEY锁定,并且不知何故每个查询只设法获取其中一个键,因此两者都不能继续.
我该怎么做才能解决这个问题?
以下是我的具体情况:
我的基表如下所示:
CREATE TABLE job_tb{
job_id int IDENTITY(1,1),
createDate datetime NULL,
upDate datetime NULL,
dataField1 nchar(1),
dataField2 nchar(2),
--etc...
}
Run Code Online (Sandbox Code Playgroud)
我的索引看起来像这样:
CREATE NONCLUSTERED INDEX idx_createDate ON job_tb(
createDate DESC
)
INCLUDE(dataField1, dataField2)
CREATE NONCLUSTERED INDEX idx_upDate ON job_tb(
upDate DESC
)
INCLUDE(dataField1, dataField2)
Run Code Online (Sandbox Code Playgroud)
最后,我的更新如下所示:
BEGIN TRANSACTION;
UPDATE job_tb
SET
dataField1 = @data
upDate = @upDate
WHERE
job_id = @job_id
COMMIT TRANSACTION;
Run Code Online (Sandbox Code Playgroud)
报告按日期计算各种统计数据,因此我不会在此处列出.我故意将idx_createDate和idx_upDate设计为"覆盖"或包含dataField1,因为它在该报告中大量使用.
我相信报告会抓取其中一个索引的共享锁,然后命中子查询并请求锁定第二个索引.同时,更新查询需要对两个索引进行独占锁定,以便更新upDate和包含的dataField1.
你们有什么感想?
编辑: 这是XML死锁图,按要求:
<deadlock-list> <deadlock>
<victim-list>
<victimProcess …Run Code Online (Sandbox Code Playgroud) t-sql sql-server concurrency sql-server-2008 database-deadlocks
我正在处理一些旧的数据导入,并从外部来源获得了大量数据,这些数据通过签名的超量报告来报告财务数据.我见过很多,但这是在我的时间之前.在我创建一个解析这些陌生人的函数之前,我想检查是否有一种标准的方法来处理这些.
我想我的问题是,.Net框架是否提供了转换签名过冲字符串的标准工具?如果不是.NET,我可以使用任何第三方工具,所以我不重新发明轮子?
我试图找出一个 SQL 查询,它将记录从一个表均匀地分配或分配到另一个表。解释它的最好方法是通过一个人为的例子。
假设我有一个员工表,我想从颜色表中为每个人分配一种颜色。
我想确保颜色均匀分布,但员工没有属性可以预测他们会收到哪种颜色。
Sam
John
Jack
April
Sonny
Jill
Jane
Run Code Online (Sandbox Code Playgroud)
Red
Green
Blue
Run Code Online (Sandbox Code Playgroud)
Sam - Red
John - Green
Jack - Blue
April - Red
Sonny - Green
Jill - Blue
Jane - Red
Run Code Online (Sandbox Code Playgroud)
如何在 TSQL 中构造此连接?