小编Voj*_*nal的帖子

如何从事务日志执行SQL回滚

我的事务日志文件可以追溯到6个月.我需要从数据库中回滚2013年5月20日之后发生的所有事情.任何人都可以请教我如何做到这一点?

transaction-log rollback sql-server-2008-r2

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

在系统帐户下运行 Windows 计划任务时出错

我想创建一个计划任务在“LOCAL SERVICE”帐户下运行。该任务将调用 C# 程序 (.NET 4.5)。为了进行 POC,我使 C# 程序保持简单 - 一个仅将文本写入控制台的程序。

taskscheduler 任务设置为在未登录时运行。我已确保 c# 可执行文件具有本地服务的权限(读取、读取和执行)。

当我运行计划任务时,我在事件日志中收到以下错误:

Task Scheduler failed to start instance "{e719a65e-d4fb-4515-9fc9-3635fe69e378}" of "\Testing LOCAL SERVICE" task for user "NT AUTHORITY\LOCAL SERVICE" . Additional Data: Error Value: 2147942405.

但是,如果我通过指向 mspaint 或记事本等已知程序在本地服务下运行相同的任务,则该任务运行时不会出现错误。我不确定 C# 程序的权限有什么特殊之处。

感谢对此的一些想法。

c# scheduled-tasks .net-4.5

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

VBA空字符串,用于插入SQL Server

下面是这种情况:有一个带有Microsoft Access前端的SQL Server数据库.SQL Server数据库中有一个表,其中一个名为PackID的列定义为VARCHAR(6)NOT NULL(它必须为NOT NULL,因为它是此表的复合主键的一部分).空字符串在PackID列中是合法的.事实上,它们经常发生.当用户在此表的UI中输入数据,并通过PackID字段选项卡时,会显示一条错误消息:"无法将值NULL插入列'PackID';列不允许空值.INSERT失败."

已经尝试过的东西不起作用:

  1. 在SQL Server数据库中的此列上添加一个默认约束,其值为'' - 显然只有在INSERT语句中省略该列时才使用默认约束
  2. 将Access中的PackID字段的默认值设置为"" - 它的行为就好像""是NULL
  3. 用户在UI中离开行时调用以下VBA代码(Lost Focus事件)

    If IsNull(PackID.Value) Then
       PackID.Value = ""
    End If
    
    Run Code Online (Sandbox Code Playgroud)

有没有人知道如何在Access中强制一个空字符串,所以它被解释为SQL Server的空字符串而不是NULL?

sql-server ms-access vba

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

z3py 示例不适用于 macOS

我无法让任何 z3py 示例正常工作。我能够使用 github 上的自述文件中的说明成功安装它。我成功更新了 python 路径以指向适当的目录。此外,我能够成功导入 z3,但每次声明变量时都会出现错误。编译器无法识别 Int、Ints、Real 和 RealVal。

我举了一个例子来说明。

代码:

from z3 import *
x = Int('x')
y = Int('y')
solve(x > 2, y < 10, x + 2*y == 7)
Run Code Online (Sandbox Code Playgroud)

错误:回溯(最近一次调用):文件“test.py”,第 3 行,在 x = Int('x') 中 NameError: 名称 'Int' 未定义

我真的很感激任何帮助。太感谢了。

python z3 z3py

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

DI服务具有适当的缓存和dbContext用法

我真的想制作一个漂亮,干净和正确的代码,所以我几乎没有什么基本问题.一开始我有一个服务GetName._dbContext来自其他DI服务_cache

public Task<string> GetName(string title)
{
    var articleList = await _cache.GetOrCreate("CacheKey", entry =>
    {
        entry.SlidingExpiration = TimeSpan.FromSeconds(60 * 60);
        return _dbContext.Articles.ToListAsync;
    });

    var article = articleList.Where(c => c.Title == title).FirstOrDefault()

    if(article == null)
    {
        return "Non exist"
    }

    return article.Name();
}
Run Code Online (Sandbox Code Playgroud)
  1. 官方文档中我们可以读到EF上下文不是线程安全的,所以我应该await在返回后添加GetOrCreate
  2. 是否适合将其设置为Singleton服务并在操作和剃刀视图中使用它?
  3. 官方文档中,我们可以阅读:避免仅存在的"数据持有者"对象以允许访问 DI服务中的某些其他对象.当我看到我的服务时,我担心这条线.

c# dependency-injection entity-framework-core asp.net-core-mvc .net-core

5
推荐指数
2
解决办法
968
查看次数

将字符串转换为DateTime:Android

我的Sqlite数据库中有一个字段(名为time,但type为TEXT).该列的当前格式为YYYY:MM:DD_HH:MM(2011:11:01_11:30).现在我必须对此专栏进行排序,所以我认为我必须做两件事:

  1. 将字符串值转换为日期.
  2. 然后用列排序.

那么我该如何将该列转换为DateTime?或者还有其他方法吗?

sqlite datetime android

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

在MySQL语句中单独订购正数和负数

我有一个MySQL表,并希望按此顺序返回基于列值的行:

  • 如果列> = 0,则首先按升序排列
  • 如果列<0,则按降序排列

例如0,2,4,7,-2,-3,-5

mysql sql sql-order-by

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

如何在 SQL 中将空值视为 MAX?

为了能够解释这种情况,假设我有一张桌子

Product price
Cola    2
Cola    null
Fanta    1
Fanta    2
Sprite   2
Sprite null
Run Code Online (Sandbox Code Playgroud)

我需要编写一个查询来返回每个产品的最高价格,如果价格为空,则将其视为最高价格。所以对于这个表,它应该返回可乐空、芬达 2、雪碧空。

我真的很感谢你的帮助!先感谢您。

sql postgresql max

4
推荐指数
2
解决办法
4822
查看次数

“发布语言”选项到底是什么?

我有一个ClickOnce项目-winform app-按国家有两个安装位置,一个安装在捷克共和国,一个安装在斯洛伐克。每当我为其他国家/地区发布时,我只会更改“安装”文件夹和“发布”文件夹。

最近,我已将应用本地化为斯洛伐克语。但是在发布包中,两个包/发布位置的“发布语言”都设置为捷克语。

在此处输入图片说明

根据文档,它仅会影响ClickOnce安装程序的语言。但实际上,它会影响整个应用的文化。我什至添加了以下几行:

    [STAThread]
    static void Main()
    {
        //localization code

        Thread.CurrentThread.CurrentUICulture = new CultureInfo("sk-SK");
        Thread.CurrentThread.CurrentCulture = new CultureInfo("sk-SK");
Run Code Online (Sandbox Code Playgroud)

但是安装后,即使在启动时运行此代码,该应用程序仍会以捷克语显示在捷克语Windows上。当我将语言更改为斯洛伐克语或中性时,它会在客户端上显示以下ClickOnce错误(因为我更改了发布语言):

部署身份与预订不匹配。

用斯洛伐克语“发布语言”重新安装时,它会在斯洛伐克语中正确显示。

为什么即使我在代码中手动将区域性设置为,sk-SK并且客户端具有斯洛伐克语Windows并且仅将“发布语言”设置为捷克语,为什么也看不到斯洛伐克语界面?有没有解决方法,使我不必重新安装所有客户端?

c# clickonce localization winforms visual-studio-2012

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

无法打开文件流进行阅读,但我仍然可以复制文件?

这一行:

using (FileStream fs = File.Open(src, FileMode.Open, FileAccess.Read, FileShare.Read))
Run Code Online (Sandbox Code Playgroud)

抛出:

System.IO.IOException:进程无法访问文件"X",因为它正由另一个进程使用.

当我用以下代码替换:

File.Copy(src, dst, true);
using (FileStream fs = File.Open(dst, FileMode.Open, FileAccess.Read, FileShare.Read))
Run Code Online (Sandbox Code Playgroud)

有用.

但是为什么我可以复制,它肯定会读取文件的整个内容,同时被限制直接读取文件?有解决方法吗?

.net c# windows file-io filestream

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