小编Rei*_*l--的帖子

这个SQL中发生了什么:`SELECT CONVERT(CHAR(10),GETDATE(),103)`

我在一些代码中发现了这一点,我的任务是记录:

SELECT CONVERT(CHAR(10), GETDATE(), 103)
Run Code Online (Sandbox Code Playgroud)

我...不明白.第一个arg应该是a data_type,而不是字符串."LineFeed"如何成为有效的data_type?

它运行,并返回今天的日期(在SQL Server中)所以我必须错过一些令人目眩的明显的东西.

sql-server

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

C# 控制台应用程序:有没有办法检测 exe 是否从命令行运行?

如果我Program.exe从现有的命令行窗口运行,那么当它完成并退出时,控制台输出仍然存在并且可见。

如果我双击 my Program.exe,那么它将打开一个新的命令行窗口,用于控制台输出...但是当我的 exe 完成时,该窗口将关闭,并带走输出。

在后一种情况下,为了防止输出日志丢失,我可能想要我的Main()be的最后两行Console.WriteLine("Press any key to exit"); Console.ReadKey();

但如果我在前一种情况下这样做,那就有点烦人了。

有什么方法可以检测这两种情况之间的差异,以便我可以有条件地“等待用户说我可以关闭”......仅在必要时?

c# console-application execution

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

nUnit测试相互依赖性/层次结构

有没有办法给nUnit一个测试层次结构,这样如果之前的测试失败,以后的测试就不会运行?

假设我有一组预期会被处理和排序的数据,并且我有一个测试订单已完成的UT,还有一些测试处理的其他测试,并假设订购已经成功如果这是假的,那么它将失败.

(并且假设打破这种依赖是不可行的 - 我知道这是理想的解决方案!)

然后告诉nUnit会很高兴......"如果订购测试失败了,那么就不要理会这些问题(可能没有结果,也许?)因为我们知道他们不会工作."

显然我可以手动完成,但是这会给测试添加很多基本上无关紧要的东西(我们有很好的短测试,所以"调用头部测试并捕获异常"块会使某些测试的长度加倍)

我希望nUnit可能已经JustDoThis,但我无法在任何地方看到它?

nunit unit-testing

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

重命名 SQL Server 主机后更新 sys.servers

我即将将我的 SQL Server 2012 实例升级到 SQL Server 2014。

我已经克隆了主机的Windows虚拟机,并从它改名foo-2012foo-2014。重新启动时,SQL Server 实例注意到它更新了自己的名称,因此我现在可以以foo-2014. 都好。

不幸的是,(单个)条目sys.servers仍然是foo-2012这意味着运行

SELECT * 
FROM [foo-2012].[barDB].[dbo].tFooBarTable
Run Code Online (Sandbox Code Playgroud)

失败:

在 sys.servers 中找不到服务器“RW-DB-2014”。验证是否指定了正确的服务器名称。如有必要,请执行存储过程 sp_addlinkedserver 将服务器添加到 sys.servers。

美好的。

我运行EXEC sp_addlinkedserver 'foo-2014', 'SQL Server'并获得一个条目。

但是现在新条目具有isLinked=1(而现有条目具有isLinked=0)。

文档表明此设置很重要(特别是对于我的应用程序,它对 Distr.Trans 有很强的意见。:()

我无法直接编辑/添加/修改 sys.servers。任何这样做的尝试都会给出:

不允许对系统目录进行临时更新。

我删除了EXEC sp_dropserver 'foo-2014'成功的新条目 ( ),并尝试使用EXEC sp_addserver 'foo-2014', 'local'which 报告

服务器 'foo-2014' 已经存在

立即重新运行 drop 然后报告

服务器“RW-DB-2014”不存在。使用 sp_helpserver 显示可用的服务器。

我该如何解决?

sql-server rename linked-server

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

无法在客户端 Javascript 中的 `process.env` 上设置值

我有一个系统(它恰好是 Gatsby,但我认为这与这个问题无关)它使用 webpack DefinePlugin 将一些 EnvironmentVariables 附加到全局变量: process.env

我可以很好地阅读这个。

不幸的是,由于应用程序启动过程中的怪异,我 需要选择在站点加载后对这些环境变量进行一些简短的覆盖。(在这个问题的背景下,对讨论这是否是最佳选择不感兴趣。我知道还有其他选择;我想知道是否可行)

但它不起作用:(


如果我尝试明确地做到这一点:

process.env.myVar = 'foo';
Run Code Online (Sandbox Code Playgroud)

然后我得到ReferenceError: invalid assignment left-hand side.


如果我通过索引器(似乎是这样dotenv做的)执行此操作,则它不会出错,但也不起作用:

console.log(process.env.myVar);
process.env['myVar'] = 'foo';
console.log(process.env.myVar);
Run Code Online (Sandbox Code Playgroud)

将登录undefined两次。


我做错了什么,我该如何解决?

javascript environment-variables

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

对.NET Core中的web.config感到困惑

关于web.config和.NET Core有很多矛盾的说法。

此外,我刚刚将几乎全新的.NET Core应用程序部署到Azure。在存储库中,没有web.config,但是当我在Kudu中浏览已部署的代码时,有一个web.config文件吗?


.NET Core中的web.config是怎么回事?您应该如何做非“定制应用程序配置”的东西?(例如,HTTP标头和其他HTTP级别配置)

.net web-config asp.net-core

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

有什么方法可以控制gitk的默认视图

我使用gitk来自Git for Windows. 默认情况下,它似乎会打开一个仅显示当前签出分支的视图。

我有一个不同的已保存视图,这是我 90% 的时间都使用的视图。

我通常从命令行打开 gitk (通过运行gitk &),然后必须更改视图。

有什么方法可以配置gitk为默认使用我的首选视图吗?

gitk git-for-windows

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

React PropTypes:必须至少提供这些道具之一

假设我的组件有2个道具。

没有一个是必需的,本身,你可以同时提供,如果您想。但是您需要至少提供两个道具之一。

PropTypes是否支持此验证规则?

如果是严格的XOR怎么办?


注意:我并不是在说允许已知道具使用两种类型中的一种……这是我的理解PropTypes.oneOf(['News', 'Photos'])PropTypes.oneOfType([...types...])正在谈论。

validation reactjs react-proptypes

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

正则表达式查找 LF lineEndings 并将其修复为 CRLF

类似/相关,但不包括在内:


我主要在 .NET 堆栈中工作,我们希望(几乎)所有文件都是 CRLF。

在我看来,git 永远不应该编辑文件的内容,所以我和我的项目以及我同事的 git 设置是autocrlf=false(即as-is, as-is),请随意就其他问题进行辩论:)

偶尔有人会有错误的 git 设置,或者以其他方式意外地将 LF 引入到 git 存储库中的某些文件中,我想 grep 整个存储库以查找具有 LF 行结尾的文件,然后将它们修复为 CRLF,在逐个文件(以防万一,例如 bash 文件,遗憾的是应该是 LF)。

每次我需要这样做时,我都找不到相关的正则表达式,不得不重新从头开始解决。

所以这个问题的存在是为了记录正确的正则表达式。

regex line-endings

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

在单个事务中针对不同表进行多个并行(异步)SqlBulkCopy 插入的性能

长话短说

为什么async在单个事务上针对不相关的表并行运行多个 SqlBulkCopy 插入看起来就像串行运行一样?


语境

我有一些代码正在计算和存储大量数据。计算是预先完成的,因此代码的存储部分得到了要存储的一大堆数据。

我的数据库写入正在完成,SqlBulkCopy.WriteToServerAsync一般来说,它可以很好地完成工作。

我需要存储6个与业务相关的表,但与SQL无关。因此,我对它们的写入需要在一个事务中进行,以便任何一个写入上的错误都会恢复所有其他写入上的写入。

该代码的性能相当关键,因此我希望能够并行运行 BulkInsert。没有 FKey 或任何其他与之交互的表(数据完整性由代码管理),因此我看不出有任何理由认为这是不可能的。


我目前写的内容

我以为我知道如何编写所有代码并且能够使其全部正常工作,但是有一个我不明白的奇怪的性能下降:

很高兴提供您想要的实际代码位,但这已经是一个很长的 Q,并且代码会很长到 0。如果你确实想看什么,LMK。

我可以写:

  • “按顺序批量插入到每个表中,全部在单个事务中”。

    • 即我打开一个new SqlConnection()and .BeginTransaction(),
    • 然后我foreach翻了6张桌子,await InsertToTable(transaction)每张桌子都移动foreach到下一张桌子。
    • foreach结束时我.Commit()进行事务并关闭连接。
    • 我有一个大容量测试,该版本在184秒内运行(95%,+/- 2.45 秒)。
  • “按顺序批量插入每个表,每个表都有一个新的连接和事务。”

    • 即我foreach遍历了 6 个表,并且await InsertToTable()每个表在foreach移动到下一个表之前。
    • 在每次InsertToTable()调用中,我都会打开一个新的SqlConnectionand BeginTransaction,然后在从方法返回之前打开.Commit()一个 and 。.Close()
    • 我有一个大容量测试,该版本在185 …

c# sql-server sqlbulkcopy task-parallel-library async-await

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