我明白了:
"由于数据库正在使用,因此无法获得独占访问权限.RESTORE DATABASE正在异常终止."
首先,消息告诉我必须连接到主数据库以执行还原,但我更改它,我收到上面的消息.
我正在使用的参数化sql语句是:
cmd.CommandText ="RESTORE DATABASE aguasdelbosque"+"FROM DISK = @archivo"
我有一个表文件夹,如果该文件夹具有父级,则该列的parent_id引用ID,如果没有,则parent_id为null。那是好的解决方案,还是该连接或其他解决方案需要额外的表?外键可以根本为null吗,如果可以,此解决方案将有更大的执行时间?
table folder(
id int primary key, //primary key in my table
parent_id int references id, //foreign key on id column in same table
....
)
Run Code Online (Sandbox Code Playgroud) 我正在使用Sprinng 3.0.
如何在基于注释的控制器中找到LocaleResolver设置的当前区域设置?
谢谢.
我正在玩Python可调用.基本上,您可以定义python类并实现__call__方法,以使此类的实例可调用.例如,
class AwesomeFunction(object):
def __call__(self, a, b):
return a+b
Run Code Online (Sandbox Code Playgroud)
模块检查有一个函数getargspec,它为您提供函数的参数规范.但是,我似乎无法在可调用对象上使用它:
fn = AwesomeFunction()
import inspect
inspect.getargspec(fn)
Run Code Online (Sandbox Code Playgroud)
不幸的是,我得到了一个TypeError:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.6/inspect.py", line 803, in getargspec
raise TypeError('arg is not a Python function')
TypeError: arg is not a Python function
Run Code Online (Sandbox Code Playgroud)
我认为你不能将任何可调用对象视为函数是非常不幸的,除非我在这里做错了什么?
我正在阅读Paul E. McKenney的记忆障碍 http://www.rdrop.com/users/paulmck/scalability/paper/whymb.2010.07.23a.pdf 所有内容都会详细解释,当我发现一切都很清楚时我遇到一句话,它使一切都变得愚蠢,让我觉得我什么都不懂.让我举个例子
void foo(void)
{
a = 1; #1
b = 1; #2
}
void bar(void)
{
while (b == 0) continue; #3
assert(a == 1); #4
}
Run Code Online (Sandbox Code Playgroud)
假设这两个函数在不同的处理器上运行.现在可能发生的是第二个处理器在存储到b#2之后可以看到存储到#1,因为第一个处理器队列存储到"a"并继续存储b指令.好的,没关系,我们在#1和#2之间的行中添加一个写入栅栏,但是这段代码仍然可能失败,因为第二个处理器可能会对invalidate消息进行排队,所以我们再添加一个内存栅栏(这次读取栅栏) #4和#4之间的界限.
void foo(void)
{
a = 1; #1
write_memory_barrier();
b = 1; #2
}
void bar(void)
{
while (b == 0) continue; #3
read_memory_barrier();
assert(a == 1); #4
}
Run Code Online (Sandbox Code Playgroud)
这强制第二个处理器处理所有排队的消息(使a无效)并通过向#4上的第一个处理器发送读MESI消息再次读取它.好.接下来文章说
因此,许多CPU架构提供较弱的内存屏障指令,这些指令仅执行这两者中的一个或另一个.粗略地说,"读取内存屏障"仅标记无效队列,"写入内存屏障"仅标记存储缓冲区.虽然完整的记忆障碍同时做到了.
很好,很清楚,但在那之后我看到了这一点
这样做的结果是读取存储器屏障仅在执行它的CPU上加载,因此在读取存储器屏障之后的任何加载之前,读取存储器屏障之前的所有加载似乎都已完成.类似地,写入存储器屏障仅在执行它的CPU上再次存储,并且再次使得写入存储器屏障之前的所有存储看起来在写入存储器屏障之后的任何存储之前已经完成.
所以
读取存储器屏障之前的所有负载似乎在读取存储器屏障之后的任何负载之前已完成
混合了以前解释过的所有内容.这是什么意思?功能"bar"中的哪个负载必须在加载"a"#4之前完成?我理解断言在这个函数中没有内存障碍就会失败,因为处理器可能会读取一个旧值,因为它仍然无法使对象"a"所在的高速缓存行无效.
细节上的解释会非常有帮助,我试着整天都在理解它.
首先十分感谢.
打包IronPython应用程序进行部署的最佳方法是什么?在浏览网页后,我提出的最好的事情(以及我目前正在做的事情)是将clr.CompileModules()我整个项目的.py文件粘合到一个.dll中,然后单独run.py执行此操作来运行dll:
import clr
clr.AddReference('compiledapp.dll')
import app
Run Code Online (Sandbox Code Playgroud)
但这仍然不是最理想的,因为这意味着我必须这样做
.dll,the .xaml和run.py启动器)此外,在IronPython与Visual Studio 2010进行了精彩的集成之后,感觉如此...... hacky.我完全不知道为什么没有针对IPy应用程序的集成构建系统,因为它总体上归结为IL无论如何.
理想情况下,我希望能够以某种方式.exe在.xaml内部合并一个单独的内容(我读到C#apps将XAML编译为BAML并将它们合并到可执行文件中),并且不需要安装IronPython来运行.这至少有一半可能吗?(我想如果exe需要一些额外的.DLL或者其他东西就可以了.重要的是它是.exe格式的.)
一些编辑要澄清:我已经尝试了pyc.py,但它似乎并不承认我的项目不仅仅是这样的事实app.py.它产生的exe的大小表明它只是"编译" app.py而不包含任何其他文件到exe中.那么,我如何告诉它编译我的项目中的每个文件?
为了帮助可视化,这是我项目的解决方案资源管理器窗口的屏幕截图.
编辑II:遗憾的是,唯一的方法是使用pyc.py并将每个文件作为参数传递给它.我对这种方法有两个问题:
编辑III:由于通过pyc.py命令行传递70个文件名将是不实用的,为了解决更优雅地构建IPy项目的问题,我决定增加pyc.py.
我添加了.pyproj通过/pyproj:参数读取文件的代码,解析XML,并从那里获取项目中使用的py文件列表.这一直很好; 但是,生成的可执行文件似乎无法访问属于我的项目的python子包(子文件夹).我的版本pyc.py与我的.pyproj阅读支持的补丁可以在这里找到:http://pastebin.com/FgXbZY29
当这个新pyc.py项目在我的项目上运行时,这是输出:
c:\Projects\GenScheme\GenScheme>"c:\Program Files (x86)\IronPython 2.7\ipy.exe"
pyc.py /pyproj:GenScheme.pyproj /out:App /main:app.py /target:exe
Input Files:
c:\Projects\GenScheme\GenScheme\__init__.py
c:\Projects\GenScheme\GenScheme\Agent.py
c:\Projects\GenScheme\GenScheme\AIDisplay.py
c:\Projects\GenScheme\GenScheme\app.py …Run Code Online (Sandbox Code Playgroud) 在Oracle中,可以执行一个SELECT语句,将行号作为结果集中的列返回.
例如,
SELECT rownum, column1, column2 FROM table
Run Code Online (Sandbox Code Playgroud)
收益:
rownum column1 column2 1 Joe Smith 2 Bob Jones
但我不想手动指定每一列.我想做的事情如下:
select rownum,* from table
Run Code Online (Sandbox Code Playgroud)
rownum column1 column2 column3 column4 1 Joe Smith 1 2 2 Bob Jones 3 4
有任何想法吗?
我遇到了MySQL的STR_TO_DATE函数问题.例如,这段代码:
SELECT STR_TO_DATE("Saturday October 23 2010 11:00 AM", "%W %M %d %Y %h:%m %p");
Run Code Online (Sandbox Code Playgroud)
输出:
2010-00-23 11:00:00
Run Code Online (Sandbox Code Playgroud)
除了这个月,为什么一切都正确?这是我的语法错误吗?
我"需要"一种更好的方法来从位掩码生成一个对象集合(一个ushort传递,在二进制形式上它被解释为一个掩码)
简单,非优雅的解决方案是:
public static Things[] Decode(ushort mask)
{
switch (mask)
{
case 1: // 1
return new[] { new Thing(0) };
case 2: //10
return new[] { new Thing(1) };
case 3: // 11
return new[] { new Thing(1), new Thing(0) };
case 4: // 100
return new[] { new Thing(2) };
case 5: // 101
return new[] { new Thing(2), new Thing(0) };
Run Code Online (Sandbox Code Playgroud)
// so on ......
我在Github上有一个存储库.它包含主和一个分支.
当我克隆它时,我只获得主人并且看不到我的分支.
为什么会这样?如何查看存储库中的所有分支?
sql ×4
mysql ×2
python ×2
backup ×1
c# ×1
c++ ×1
foreign-keys ×1
git ×1
github ×1
inspection ×1
ironpython ×1
multicore ×1
oracle ×1
reflection ×1
select ×1
spring ×1
spring-mvc ×1
sql-server ×1
vb.net ×1
wpf ×1