我正在为我的应用程序使用.NET 2.0/3.5框架.我需要在多个连接上运行多个SQL命令,每个连接都在不同的服务器上(Oracle,SQL Server).我需要确保这些命令是事务性的.
例如:我需要在Oracle和SQL Server数据库的表中执行INSERT,然后在没有抛出异常的情况下提交它们.如果有异常,我想在需要时在两台服务器上回滚.
我怀疑我需要使用System.Transactions和TransactionScope.这将要求我在数据库服务器和应用程序服务器上设置Microsoft分布式事务处理协调器(MSDTC).
我看起来高低,找不到任何文章描述逐步设置MSDTC与相互身份验证(包括配置防火墙设置和MSDTC设置.)我查看了有关设置MSDTC的Microsoft文档,但它似乎完全没有价值,而不是完整记录(除非你能找到一篇关于如何设置它的非常好的MSDN文章.)
使用MSDTC是完成工作的唯一方法吗?
如果是这样,我该怎么配置呢?
编辑:
我有一个绑定到DataSource的ComboBox.我想根据特定条件动态添加项目到ComboBox.所以我所做的是将选项添加到新列表,然后更改ComboBox的DataSource,如下所示:
cbo.DataSource = null;
cbo.DataSource = cbos;
cbo.DisplayMember = "Title";
cbo.ValueMember = "Value";
Run Code Online (Sandbox Code Playgroud)
然后,我检查cbo.Items.Count,它没有增加 - 它不等于DataSource的计数.我能在这做什么想法?注意这是WinForms而不是asp.net.
谢谢
假设我们在SQL Server表中有以下记录.
Date
19/5/2009 12:00:00 pm
19/5/2009 12:15:22 pm
20/5/2009 11:38:00 am
Run Code Online (Sandbox Code Playgroud)
获取类似这样的东西的SQL语法是什么?
日期 计数
19/5/2009 2
20/5/2009 1
考虑这个课程:
public class Column<T>
{
public string Header { get; set; }
public Func<T, string> ValueExpression { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
像这样使用:
var columns = new List<Column<Employee>>
{
new Column<Employee> {Header = "Employee Id", ValueExpression = e => e.EmployeeID.ToString()},
new Column<Employee> {Header = "Name", ValueExpression = e => e.FirstName + " " + e.LastName},
new Column<Employee> {Header = "Employee Birthday Year", ValueExpression = e => e.BirthDate.HasValue ? e.BirthDate.Value.Year.ToString() : ""},
new Column<Employee> { Header = "test", ValueExpression = e => …Run Code Online (Sandbox Code Playgroud) 例如:
BitmapImage bitmap = new BitmapImage();
byte[] buffer = GetHugeByteArray(); // from some external source
using (MemoryStream stream = new MemoryStream(buffer, false))
{
bitmap.BeginInit();
bitmap.CacheOption = BitmapCacheOption.OnLoad;
bitmap.StreamSource = stream;
bitmap.EndInit();
bitmap.Freeze();
}
Run Code Online (Sandbox Code Playgroud)
你能告诉我更多关于using什么的吗?
编辑:
正如JaredPar的帖子中所讨论的那样,这个问题更关注UsingVS2003中的实现.有人指出,Using直到.NET 2.0(VS2005)才引入.JaredPar发布了一个相同的解决方法.
有没有办法控制Hadoop Streaming作业的输出文件名?具体来说,我希望我的作业的输出文件内容和名称由reducer输出组织 - 每个文件只包含一个键的值,其名称将是键.
更新:刚刚找到答案 - 使用派生自MultipleOutputFormat的Java类作为作业输出格式允许控制输出文件名. http://hadoop.apache.org/core/docs/current/api/org/apache/hadoop/mapred/lib/MultipleOutputFormat.html
我还没有看到任何样本......有人能指出使用自定义输出格式Java类的Hadoop Streaming示例吗?
假设我有这个struct(偶然包含位字段,但你不应该在意):
struct Element {
unsigned int a1 : 1;
unsigned int a2 : 1;
...
unsigned int an : 1;
};
Run Code Online (Sandbox Code Playgroud)
我想以方便的方式访问第i个成员.我们来检查一下检索解决方案.
我想出了这个功能:
int getval(struct Element *ep, int n)
{
int val;
switch(n) {
case 1: val = ep->a1; break;
case 2: val = ep->a2; break;
...
case n: val = ep->an; break;
}
return val;
}
Run Code Online (Sandbox Code Playgroud)
但我怀疑有一个更简单的解决方案.也许是数组访问风格之类的东西.
我试着这样做:
#define getval(s,n) s.a##n
Run Code Online (Sandbox Code Playgroud)
但预计它不起作用.
有更好的解决方案吗?
我们有一个表格形式:
ID,Value1,Value2,Value3
1,2,3,4
Run Code Online (Sandbox Code Playgroud)
我们需要将其转化为.
ID,Name,Value
1,'Value1',2
1,'Value2',3
1,'Value3',4
Run Code Online (Sandbox Code Playgroud)
在一个SELECT语句中是否有一种聪明的方法(即没有UNION)?列名称Value1,Value2和Value3是固定且常量的.
该数据库是oracle 9i.
是否使用Sin(720)或Cos(1440)(以度为单位的角度)?无论是在计算机编程还是在任何其他情况下?一般来说,是否有任何角度大于360的Sin/Cosine/Tan?
在物理学中,我们确实使用点积和交叉产品,但即使它们总是需要小于180度的角度.
大家好,我知道如何计算它们....我想知道,如果它们是有用的???? 我何时会遇到一种情况,当我需要计算Sin(440)时,例如???