小编Dav*_*ave的帖子

ServiceController.Stop()之后服务未完全停止

ServiceController serviceController = new ServiceController(someService);
serviceController.Stop();
serviceController.WaitForStopped();
DoSomething();
Run Code Online (Sandbox Code Playgroud)

SomeService适用于sqlserver文件.DoSomething()想要复制该SQL文件.如果SomeService未完全关闭,则会抛出错误,因为数据库文件仍处于锁定状态.在前面提到的代码中,我通过了WaitForStopped()方法,但是在DoSomething()之后服务才释放数据库文件,因此我收到错误.

做一些更多的研究,我发现,DoSomething的方法调用之前我看到服务控制器状态显示停止,但在看一些procmon中记录该服务发布的数据库文件,我从DoSomething的抛出的错误之后.

另外,如果我在WaitForStopped和DoSomething方法之间放置一个Thread.Sleep,比如说... 5秒,那么数据库文件就会被释放,一切都很顺利.然而,不是我正在寻找的保证的解决方案.

有任何想法吗?

.net c# sql-server service

6
推荐指数
2
解决办法
8761
查看次数

SQL Server:将列提取到表中

我有一个表格,我想要提取出一列并放入一个单独的表格中.

例如,假设我有一个名为Contacts的表.Contacts有一个名为Name的列,用于存储字符串.现在我想将名称拉出到另一个名为Name的表中,并将Contact.Name列链接到Name表的Id.

我只能用SQL来做这件事.关于最佳方式的任何想法?

如果我能澄清一下,请告诉我,谢谢!

[编辑]一个问题是不同的联系人可以绑定到相同的名称.所以当不同联系人具有相同的名称和它被导出的名称表将只拥有该名称的一个唯一的行和所有联系人将指向该行.我想如果我实际上正在编写一本联系簿,这是没有意义的,但我只是用它来说明我的问题.

sql t-sql sql-server ddl dml

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

标签 统计

sql-server ×2

.net ×1

c# ×1

ddl ×1

dml ×1

service ×1

sql ×1

t-sql ×1