小编Man*_*wat的帖子

加密SQL Server中的列中的数据

sql server中是否存在加密数据的算法.我有一个密码字段,我需要加密,但我必须加密数据一旦在存储过程中传递.这意味着我无法从我的c#代码传递加密数据.

CREATE PROC saveData(@p1 VARCHAR(50),
                 @p2 VARCHAR(50))
AS
BEGIN
  DECLARE @encryptedP1 VARCHAR(50)

  SET @encryptedP1=dbo.fnEncrypt(@p1)  --ENCRYPTING THE DATA WITH AN INBUILT FUNCTION

  INSERT INTO table1
              (column1,
               column2)
  VALUES     (@encryptedP1,
              @p2)
END 
Run Code Online (Sandbox Code Playgroud)

sql database security encryption

5
推荐指数
3
解决办法
3万
查看次数

当我在多个集线器中使用共享连接时,OnConnected方法不称为SignalR

我们可以为不同的东西创建多个集线器,并且为了连接到每个集线器,我们可以创建具有共享连接的多个客户端集线器,以便与所有集线器建立一个连接.现在,出现的问题是集线器连接方法没有提高每个中心服务器端代码.

public class Hub1 : Hub
{
        public override Task OnConnected()
        {
            return base.OnConnected();

        }
}

public class Hub2 : Hub
{
        public override Task OnConnected()
        {
            return base.OnConnected();

        }
}
Run Code Online (Sandbox Code Playgroud)

假设在客户端我使用在两个集线器上定义的客户端方法创建hub1和hub2,然后在服务器端只调用其中一个onConnected方法的集线器.如果我使用单独的连接在客户端创建集线器,则会调用OnConnected方法.因此,如果我想为每个集线器使用相同的连接,还希望提高单独集线器的on Connected事件,还有其他任何解决方法.

.net c# asp.net signalr signalr-hub

5
推荐指数
1
解决办法
2771
查看次数

UInt32的参数数据类型无效。(MS SQL Server)

通常,我们应该将整数值传递到存储过程中,并且通常使用此方法

command.Parameters.AddWithValue("@param1", paramValue);
Run Code Online (Sandbox Code Playgroud)

但是,我发现很奇怪,如果我们需要使用上述方法将uint数据类型参数传递给存储过程,它将给出一个奇怪的异常。虽然它不是在代码命中ExecuteNonQuery方法时发生的,但是在此之后。我不确定为什么会这样。如果有人有什么可分享的...

这是堆栈跟踪:

   at System.Data.SqlClient.MetaType.GetMetaTypeFromValue(Type dataType, Object value, Boolean inferLen, Boolean streamAllowed)
   at System.Data.SqlClient.SqlParameter.GetMetaTypeOnly()
   at System.Data.SqlClient.SqlParameter.Validate(Int32 index, Boolean isCommandProc)
   at System.Data.SqlClient.SqlCommand.SetUpRPCParameters(_SqlRPC rpc, Int32 startCount, Boolean inSchema, SqlParameterCollection parameters)
   at System.Data.SqlClient.SqlCommand.BuildRPC(Boolean inSchema, SqlParameterCollection parameters, _SqlRPC& rpc)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, …
Run Code Online (Sandbox Code Playgroud)

c# sql sql-server

5
推荐指数
1
解决办法
3753
查看次数

Azure度量标准图表图例

我们最近看到我们的一个应用服务的主要停机时间部署在azure上.在通过应用洞察分析日志后,我们发现了一些未知的公式图表为我们提供的信息.

azure指标请求计数

我们可以看到有虚线和实线图,这表明什么呢?我们注意到这条虚线的时间间隔实际上是我们的服务根本没有响应的时候.关于这个我们怎么知道当时究竟出了什么问题的任何线索?

metrics azure azure-application-insights

5
推荐指数
1
解决办法
793
查看次数

如何在SQL Server内部级联更新/删除?

好的,我认为问题不明确.在这里,我以其他方式重写这一点.

假设我创建了两个表,

  • table1(c1 int PRIMARY KEY)

  • table2(table1c11 int)

有之间的关系table1,并table2table1.c1=table2.table1c11

并且,我在table1和中执行以下语句table2

insert into table1(c1)
values('a'),('b'),('c'),('d'),('e')

insert into table2(table1c11)
values('a'),('a'),('b'),('d')
Run Code Online (Sandbox Code Playgroud)

现在我想要实现的是,一旦我更新的值c1table1相应的数据table2就会自动改变.为此,我需要在table1table2关系中创建约束并应用CASCADE UPDATE.

所以,稍后我在table1ie中应用一个新的SQL更新语句

Update table1 set c1=c1+'updated'
Run Code Online (Sandbox Code Playgroud)

然后数据table2也会改变,但是如果我想通过实现相同的功能INSTEAD OF UPDATE TRIGGER,那么我需要编写而不是更新触发器,在里面,我需要处理两个魔术表INSERTEDDELETED.

但重点是,在这种情况下,我只有一个列存在table1,我正在更新同一列,所以我怎么能映射插入和删除的行.如果我使用CASCADing,SQL Server也会做同样的事情.

因此,问题出现了SQL Server如何在表中的主键数据更改的情况下处理批量更新.

sql-server triggers

4
推荐指数
1
解决办法
4960
查看次数

REGEX用于组播IP地址

我在stackoverflow上经历了这篇精彩的帖子

验证IP地址不是0.0.0.0或多播地址

但这是一个自定义的javascript函数,我必须在我的aspx页面中编写,而不是这有任何正则表达式等效,这可能有助于验证多播IP地址

例如,224.0.0.1和239.255.255.255之间的多播IP地址

在此先感谢您的努力.:)

regex asp.net multicast ip-address

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

如何将解决方案测试的代码覆盖率结果文件输出到解决方案目录而不是测试项目目录

这是一个非常基本的问题,应该有一个简单的解决方案。我希望将单元测试项目的所有代码覆盖率结果放在解决方案中以输出到单个目录中。目前,所有覆盖率输出文件都被写入各个测试项目文件夹中。我尝试研究 coverlet github 问题,其中他们提到他们有一种解决方法(https://github.com/tonerdo/coverlet/pull/220),可以将所有覆盖文件合并到一个文件中,但我无法不要将它们放入我的解决方案目录中

dotnet test .\MySolution.sln /p:CollectCoverage=true /p:CoverletOutput=/results/coverage /p:MergeWith=\results\coverage.json /p:CoverletOutputFormat='json%2copencover'
Run Code Online (Sandbox Code Playgroud)

我正在努力的是在参数中指定解决方案目录/p:CoverletOutput。dotnet cli 中是否有一个特殊参数来指向类似于 msbuild 中的解决方案目录$(MSBuildProjectDirectory)

.net c# code-coverage dotnet-cli coverlet

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

Linq 到 SQL | 按日期排名前 5 位的不同顺序

我有一个 SQL 查询,我想在 asp.net 应用程序中从 LINQ 调用它。

SELECT TOP 5 *
FROM   (SELECT SongId,
               DateInserted,
               ROW_NUMBER()
                 OVER(
                   PARTITION BY SongId
                   ORDER BY DateInserted DESC) rn
        FROM   DownloadHistory) t
WHERE  t.rn = 1
ORDER  BY DateInserted DESC 
Run Code Online (Sandbox Code Playgroud)

我不知道是否可以通过 linq 到 sql,如果不能,请提供任何其他方式。

c# linq asp.net sql-server-2008 sql-to-linq-conversion

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

从表格中选择*从表格中选择col1,col2,col3

可能重复:
选择*vs选择列

我刚刚与我的一位同事讨论了SQL Server在存储过程中指定查询命令的性能.

所以我想知道哪一个比另一个更受欢迎,并说明背后的具体原因.

假设,我们有一个名为Employees的表 (EmpName,EmpAddress)

我们想要从表中选择所有记录.所以我们可以用两种方式编写查询,

  1. 从员工中选择*

  2. 从Employees中选择EmpName,EmpAddress

所以我想知道上述查询中是否存在任何特定的差异或性能问题,或者它们是否与SQL Server引擎相同.

更新:

  1. 让我们说表模式不会再改变了.因此未来维护没有意义.
  2. 性能方面,让我们说,使用率非常高,即数据库服务器上每秒数百万次点击.我希望两种方法都有清晰准确的性能评级.
  3. 没有对整个表进行索引.

sql sql-server performance benchmarking select

-2
推荐指数
3
解决办法
1603
查看次数