小编Rah*_*hul的帖子

更新SSIS OLEDB目标中的行

我有一个数据流程,我有一个OLEDB源和一个OLEDB目的地,如下所示:

数据流任务

Source合并来自两个临时表的数据并返回结果集(例如,50K行).这些50K行也存在于目标表中,但它们是旧数据.

SELECT * FROM staging1
UNION
SELECT * FROM staging2 
Run Code Online (Sandbox Code Playgroud)

通常,在OLEDB目标中,我们将返回的数据集从源表插入目标表,但在我的情况下,我必须使用这些新的50K行更新旧的50K行.

一种批量更新.

谁能告诉我怎么做到这一点?我感谢您的帮助.

ssis sql-server-2008

26
推荐指数
3
解决办法
11万
查看次数

无法在单元测试项目中使用ConfigurationManager

我正在尝试为我的项目编写单元测试,但它不会让我使用配置管理器.现在我的项目设置像

ASP.Net应用程序(所有aspx页面)

ProjectCore(所有C#文件 - 模型)

ProjectTest(所有测试)

在我的ProjectCore中,我能够从System.Configuration访问ConfigurationManager对象并将信息传递到项目中.但是,当我运行涉及ConfigurationManager的测试时,我收到错误

System.NullReferenceException: Object reference not set to an instance of an object.
Run Code Online (Sandbox Code Playgroud)

这是测试的一个例子

using System.Configuration;

[TestMethod]
public void TestDatabaseExists()
{
    //Error when I declare ConfigurationManager
    Assert.IsNotNull(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString
}
Run Code Online (Sandbox Code Playgroud)

在我的其他测试中,ConfigurationManager.ConnectionStrings ["ConnectionString"].ConnectionString是我将数据适配器的配置字符串设置为,并在测试时返回null错误,但在我实际使用网站时却没有.有任何想法吗?

c# sql configuration unit-testing mocking

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

使用十进制数据类型是否有性能损失(MySQL/Postgres)

我理解整数和浮点数据类型是如何存储的,我猜测十进制数据类型的可变长度意味着它更像是一个字符串存储.

当使用十进制数据类型并搜索它们时,这是否意味着性能开销?

mysql database postgresql types type-conversion

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

Unix命令获取csv文件中的行数

嗨,我是UNIX新手,我必须从传入的csv文件中获取行数.我使用以下命令来计算.

wc -l filename.csv
Run Code Online (Sandbox Code Playgroud)

考虑带有1条记录的文件iam在开始时获取一些带有*的文件,如果我发出相同的命令,我将得到的数量为0.这些文件是否在这里有任何意义,如果我得到一个带有ctrlm(CR)的文件而不是NL如何获取该文件中的行数.给我一个解决问题的命令.提前致谢.

unix newline count line-numbers wc

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

从Redis Cache数据库获取所有密钥

我正在使用Redis缓存进行缓存(特别是stackexchange.Redis C# driver.想知道是否有任何方法可以在任何时间点在缓存中获取所有密钥.我的意思是我可以在ASP.NET cache对象中执行类似的操作(在代码示例下面)

var keys = Cache.GetEnumerator();                               
while(keys.MoveNext())
{
     keys.Key.ToString() // Key
}
Run Code Online (Sandbox Code Playgroud)

Redis文档讨论了KESY命令, 但确实stackexchange.Redis有该命令的实现.

通过connection.GetDataBase()实例调试,我没有看到任何方法/属性.

任何的想法?

c# caching stackexchange.redis

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

更新MongoDB中嵌套的实体数组中的属性

是否有直接的方法来更新MongoDB中嵌套的实体数组.我MongoDB C# Driver用于从应用程序进行数据库调用.下面是一个例子:说我有一个Student集合,其中每个文档都有一个嵌套的数组,Course其中填充了一些必要的字段Course,它本身就是一个单独的集合,如:

{
 "_id": "234dssfcv456",
 "Name": "Jean Douglas",
 "Age": 32,
 "Courses": 
  [
    {
       "_id": "1234",
       "Name": "Computer Science",
       "Level": "Basic" 
    },
    {
       "_id": "3456",
       "Name": "Bio Science",
       "Level": "Intermediate" 
    }
  ] 
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过索引更新嵌套实体,但我不知道索引,而只知道嵌套Course对象Id.

db.College.Student.update(
    {"Student._id": "234dssfcv456"}, 
    {$set: {
        "Student.$.Courses.1.Level": "Basic"
    }}
Run Code Online (Sandbox Code Playgroud)

现在,我正在阅读整个嵌套的课程数组 - >在应用程序端进行修改 - >然后将整个数组传递给更新"Courses",并使用将要传递的现有数组替换现有数组.

但是在想,有没有办法可以用Id可用的方式更新数组中的一个实体.请建议.

***在相关问题部分的右侧,所有显示使用对象项的索引更新嵌套的对象数组,这对我来说是不可能的.

c# mongodb mongodb-.net-driver

8
推荐指数
2
解决办法
7862
查看次数

SQL Server错误"在列上无效尝试GetBytes"

小背景:

最近我通过应用来自MS链接的补丁升级了"SQL server management studio 2005" http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=7218

这样,我就可以访问最近构建的SQL Server 2008版本的DB服务器.

我在2008 Db服务器上创建了一个连接到Oracle DB的服务器链接.早些时候我没有遇到任何问题,但每当我使用服务器链接运行查询时应用管理工作室补丁如下所示

select top 10 * from [server]..DBNAME.TABLENAME 
Run Code Online (Sandbox Code Playgroud)

要么

select * from [server]..DBNAME.TABLENAME 
Run Code Online (Sandbox Code Playgroud)

我收到了错误

执行批处理时发生错误.错误消息是:列colname上的GetBytes尝试无效'.GetBytes函数只能用于Text,NText或Image类型的列."

但是,如果我将查询更改为

select top 10 col1,col2 from [server]..DBNAME.TABLENAME 
Run Code Online (Sandbox Code Playgroud)

要么

select distinct col1, col2, col3 from [server]..DBNAME.TABLENAME 
Run Code Online (Sandbox Code Playgroud)

它运行正常没有任何问题.

我不确定,但我相信它与Management Studio...有关...某些设置Management Studio可能导致这个问题.

有没有人有任何想法或以前遇到过这个问题.你能帮忙吗?

编辑:如果我使用sqlcmd它运行问题查询运行正常.

谢谢.

ssms sql-server-2008

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

SQL - 获取具有最大值的列的索引

我有一个包含样本数据的表格如下.

col1    col2    col3
4       6       9
7       1       5
Run Code Online (Sandbox Code Playgroud)

我想得到列的索引,其值与该行的最大值匹配,如果它们相等,则忽略后者.

例如,结果应该是return

3 (because col3 has maximum value 9)
1 (because col1 has maximum value 7)
Run Code Online (Sandbox Code Playgroud)

请注意,列数未定义,因此我需要一般解决方案.

谢谢

sql-server

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

如何在Microsoft Moles中为用户定义的委托提供out参数

我想绕过一个内部方法调用,因此嘲笑它.模拟的方法委托看起来像:

public Microsoft.Moles.Framework.MolesDelegates.OutOutFunc<string,string,string,
byte[]> GetlineStringStringOutStringOut { set; }
Run Code Online (Sandbox Code Playgroud)

现在,在我的测试中,当我尝试访问这个模拟的方法时:

GetlineStringStringOutStringOut = (a,b,c) => {return bytearray};
Run Code Online (Sandbox Code Playgroud)

发生错误,说参数2和3必须用out关键字声明,但是当我用out关键字声明它们时,它根本不会编译.我读了其他SO问题和答案,似乎无法完成.

是否可以为此提供用户定义的委托?如果是,请举个例子.

编辑:

我试图将自己的同一签名代表声明为模拟委托

static delegate byte[] MyFunc<String, String, String>
(string a, out string b, out string c);
Run Code Online (Sandbox Code Playgroud)

但我不确定在调用模拟的委托方法时如何调用它?

c# unit-testing moles

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

大写字母占用更多内存吗?

我正在尝试创建一个文件系统,它将处理大量的目录搜索.如果我在文件夹名称的内存使用方面使用大写或小写字母会有所不同吗?

c#

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