小编sh-*_*eta的帖子

在Dapper.NET中调整CommandTimeout?

我正在尝试通过Dapper通过存储过程运行SQL备份(我的应用程序的其余部分使用Dapper,所以我更喜欢让这部分继续运行它).它工作得很好,直到CommandTimeout启动.

using (var c = SqlConnection(connstring))
{
    c.Open();
    var p = new DynamicParameters();
    // fill out p

    c.Execute("xp_backup_database", p, commandType: CommandType.StoredProcedure);
}
Run Code Online (Sandbox Code Playgroud)

我知道的唯一CommandTimeout设置是在SqlCommand中.有没有办法通过Dapper设置?

.net c# timeout dapper

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

引发异常时在Python中设置退出代码

$ cat e.py
raise Exception
$ python e.py
Traceback (most recent call last):
  File "e.py", line 1, in <module>
    raise Exception
Exception
$ echo $?
1
Run Code Online (Sandbox Code Playgroud)

我想将此退出代码从1更改为3,同时仍然转储完整的堆栈跟踪.最好的方法是什么?

python exception exit-code

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

Dapper动态参数在不使用匿名对象时抛出SQLException"必须定义标量变量"

(此代码在C#中使用Dapper Dot Net)

此代码有效:

var command = "UPDATE account SET priority_id = @Priority WHERE name = @Name";
connection_.Execute(command, new { Name = "myname", Priority = 10 } );
Run Code Online (Sandbox Code Playgroud)

此代码抛出SqlException:

class MyAccount 
{
    public string Name;
    public int Priority;
}

var command = "UPDATE account SET priority_id = @Priority WHERE name = @Name";
var acct = new MyAccount { Name = "helloworld", Priority = 10 };
connection_.Execute(command, acct);
Run Code Online (Sandbox Code Playgroud)

System.Data.SqlClient.SqlException:必须声明标量变量"@Priority".

为什么?

c# sqlexception dapper

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

我可以在Perl中找到文件句柄中的文件名吗?

open(my $fh, '>', $path) || die $!;
my_sub($fh);
Run Code Online (Sandbox Code Playgroud)

my_sub()能以某种方式从$ fh推断出$ path吗?

perl filenames filehandle

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

Ruby方法可以作为迭代器产生还是根据上下文返回数组?

我在Ruby中有一个任意方法,它产生多个值,因此可以将它传递给一个块:

def arbitrary
  yield 1
  yield 2
  yield 3
  yield 4
end

arbitrary { |x| puts x }
Run Code Online (Sandbox Code Playgroud)

我想修改这个方法,这样,如果没有块,它只是将值作为数组返回.所以这个结构也可以运行:

myarray = arbitrary
p a -----> [1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)

这可能在Ruby中吗?

ruby arrays methods iterator return-value

10
推荐指数
3
解决办法
9054
查看次数

.NET的一次写入读取 - 经常分布式文件存储?

我有一个C#/ .NET应用程序需要在中央存储库中存储可变大小的二进制blob(10KB - 100MB).MogileFS完全满足我的需求(一次写入,高可用性,透明的水平可伸缩性,针对商用硬件进行了优化)但缺少.NET绑定表明还有其他更多的.NET方法.

或者我应该只是写那些绑定?

.net c# mogilefs file-storage

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

如何使用非常规参数调用存储过程?

我正在尝试将Red Gate的SQLBackup Pro软件集成到我用C#编写的内部备份软件中.这样做的自然方式是通过扩展存储过程.问题在于它以我以前从未见过的格式调用:

master..sqlbackup '-SQL "BACKUP DATABASE pubs TO DISK = [C:\Backups\pubs.sqb]"'
Run Code Online (Sandbox Code Playgroud)

通过SSMS运行时,这很好用.我遇到麻烦的地方是尝试从C#(使用.NET 4和Dapper Dot Net)调用它.

我的第一次尝试不起作用,因为它将整个cmd字符串解释为存储过程的名称,并抛出错误"无法找到存储过程''":

var cmd = "master..sqlbackup '-SQL \"BACKUP DATABASE pubs TO DISK = [C:\\Backups\\pubs.sqb]\"'";
connection.Execute(cmd, commandType: CommandType.StoredProcedure, commandTimeout: 0);
Run Code Online (Sandbox Code Playgroud)

我的第二次尝试立即返回并显示(到C#)成功,但实际上没有进行备份(这也很难进行参数化):

var cmd = "master..sqlbackup";
var p = new DynamicParameters();
p.Add("", "'-SQL \"BACKUP DATABASE pubs TO DISK = [C:\\Backups\\pubs.sqb]\"'");
connection.Execute(cmd, p, commandType: CommandType.StoredProcedure, commandTimeout: 0);
Run Code Online (Sandbox Code Playgroud)

我的第三次尝试似乎也成功了,但实际上没有进行备份:

var cmd = "master..sqlbackup '-SQL \"BACKUP DATABASE pubs TO DISK = [C:\\Backups\\pubs.sqb]\"'";
connection.Execute(cmd, commandTimeout: …
Run Code Online (Sandbox Code Playgroud)

c# sql-server stored-procedures dapper

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

可以在没有显式session.add()的情况下将对象添加到SQLAlchemy会话中吗?

我有许多类使用SQLAlchemy映射到表(如果重要的话,非声明性地).因为我希望应用程序可以进行单元测试,所以所有SQLAlchemy会话交互都被隔离到一个类中.使用该应用程序是这样的:

m = Model("mysql://localhost/mydb")
s1 = Service("somename")
m.session.add(s1)
s1 is m.get_service("somename") # True
Run Code Online (Sandbox Code Playgroud)

它实际上比那更精简,但在这里和我一起工作.

是否可以跳过session.add()步骤?换句话说,如果我实例化一个映射类,是否有可能自动添加到活动的SQLAlchemy会话(如果有的话)?

python sqlalchemy

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

从Windows 7命令行运行时,为什么我的C#程序会经常暂停?

我在几个不同的C#应用​​程序中遇到过这个问题.这些都是我编写的实用程序,使我作为系统管理员的生活更轻松.比如在数据库服务器之间迁移数据.

他们将当前步骤打印到控制台(旧版本通过System.Console.WriteLine(),新版本通过log4net的ConsoleAppender),所以我总是从命令提示符运行它们.这样做时,它们似乎经常以随机间隔暂停,直到我输入几次.我注意到它们已暂停,因为通常需要一两秒的步骤已经在屏幕上显示了很长时间.点击进入后,事情会再次开始正常处理一段时间.

为什么是这样?我该如何解决?

c# command-line windows-7

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

将Windows应用程序作为服务运行?

在不触及代码的情况下,将Windows应用程序作为服务运行的最干净,最可靠的方法是什么?

使用案例:NorthScale的64位Windows版memcached作为通用应用程序运行.我想将它粘贴到Windows 2003或2008服务中,这样我就可以通过标准接口启动/停止/重启/等等.

windows windows-services windows-server-2003 windows-server-2008

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

为什么设置默认参数值会使此函数成为闭包?

我正在编写一个应用程序,其中标签是可链接的,并且需要检索整个链接标签链.不允许自我引用.运行以下代码最终会得到一些非常奇怪的结果:

class Tag(object):
  def __init__(self, name):
    self.name = name
    self.links = []

  def __repr__(self):
    return "<Tag {0}>".format(self.name)

  def link(self, tag):
    self.links.append(tag)


def tag_chain(tag, known=[]):
  chain = []
  if tag not in known:
    known.append(tag)
  print "Known: {0}".format(known)

  for link in tag.links:
    if link in known:
      continue
    else:
      known.append(link)
    chain.append(link)
    chain.extend(tag_chain(link, known))
  return chain

a = Tag("a")
b = Tag("b")
c = Tag("c")
a.link(b)
b.link(c)
c.link(a)

o = tag_chain(a)
print "Result:", o
print "------------------"
o = tag_chain(a)
print "Result:", o
Run Code Online (Sandbox Code Playgroud)

结果:

Known: …
Run Code Online (Sandbox Code Playgroud)

python recursion closures

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

为什么Visual Studio 2010告诉我"'System.Delegate'不包含'EndInvoke'的定义"?

当我打电话时,为什么Visual Studio 2010告诉我''System.Delegate'不包含'EndInvoke'的定义job.Delegate.EndInvoke()?我如何解决它?请注意,它BeginInvoke()很好,并且如果我EndInvoke()立即添加后不会抱怨BeginInvoke()(思想帽子没有达到我想要的效果).

我有一个小JobTracker类用于跟踪备份作业:

public class JobTracker 
{
    private class Job
    {
        public Account Account { get; set; }
        public IAsyncResult Result { get; set; }
        public Delegate Delegate { get; set; }
        public bool IsCompleted { get { return result.IsCompleted } }
        public string Instance { get { return Account.Instance } }
    }

    public List<Job> Running = new List<Job>;

    public void AddJob(Account a, IAsyncResult result, Delegate del)
    {
        var j = …
Run Code Online (Sandbox Code Playgroud)

c# begininvoke

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

在Ruby中明确指定默认方法目标?

在明确指定方法目标时,Ruby是否有最佳实践?

class Foo
    def meth1
        puts "bar"
    end

    def meth2
        # is this better?
        self.meth1

        # or this?
        meth1
    end
end
Run Code Online (Sandbox Code Playgroud)

ruby

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