这更像是一个面向业务的编程问题,我似乎无法弄清楚如何解决.我与一个与BASIC合作超过20年的程序员团队合作.我被引进来帮助在.NET中编写相同的软件,只有更新和现代实践.问题是,我似乎无法让任何其他3个团队成员(所有BASIC程序员,尽管现在也有.NET)了解如何正确地执行关系数据库.这是他们不理解的事情:
我们基本上有一个跟踪客户标签信息的交易.我们需要能够跟踪当前交易和过去的交易.在旧系统中,使用平面文件数据库,其具有包含客户的基本当前交易的记录的一个表,以及包含客户的所有先前交易以及重要货币信息的另一个交易.为了防止冗余,他们会用历史记录事务覆盖当前事务 - (历史文件首先更新,然后更新当前事务.)这是完全不必要的,因为你只需要一个事务表,但我的主管或我的其他任何两个co工作者似乎无法理解这一点.我怎么能说服他们看到光线让我们赢了' 必须做大量的工作并最终击中数据表太多次?感谢您的投入!
我正在我的工作站上开发SSIS作业,数据流任务在我的本地工作站上打开逗号分隔的平面文件,并将数据导入远程服务器上的SQL服务器数据库.
当我尝试在SQL目标对象中选择目标表时,它给出了以下错误:
所选数据源位于远程计算机上.批量插入操作可以在本地计算机上执行.
如何解决问题,以便我可以测试我的SSIS包.
我目前在Data Warehouse程序员的位置工作,因此必须通过ETL过程放置大量的平面文件.当然在加载文件之前我必须知道它的内容,问题是大多数文件大于1 GB并且我无法使用亲爱的老朋友"notepad"打开它们.开玩笑.我通常使用VIM或Notepad ++,但打开文件仍需要一段时间.我可以使用VIM或其他编辑器对文件执行"部分"读取吗?
PS我知道我可以为文件的"数据样本"编写一个10行内容脚本,但是说服团队成员使用编辑器的功能而不是我编写的脚本会更简单.
感谢您提供的任何见解.
我对SSIS知之甚少,而且我已经尽可能多地用Google搜索了.我真的很感激我能得到的任何帮助.
我正在构建一个SSIS包,我只想从平面文件源中插入一组特定的数据.有没有办法使用WHERE子句只提取特定数据?
例如,如何将此查询转换为数据流任务?
INSERT INTO #TempTable (Column1, Column2)
SELECT Column1, Column2
FROM TEXTFILESOURCE
WHERE Column1 <> 'ABC'
Run Code Online (Sandbox Code Playgroud)
这可以通过数据流任务来实现吗?
我有这个方法签名: List<ITMData> Parse(string[] lines)
ITMData 有35个房产.
你会如何有效地测试这样的解析器?
问题:
编辑
我将方法签名更改为 ITMData Parse(string line).
测试代码:
[Subject(typeof(ITMFileParser))]
public class When_parsing_from_index_59_to_79
{
private const string Line = ".........";
private static ITMFileParser _parser;
private static ITMData _data;
private Establish context = () => { _parser = new ITMFileParser(); };
private Because of = () => { _data = _parser.Parse(Line); };
private It should_get_fldName = () => _data.FldName.ShouldBeEqualIgnoringCase("HUMMELDUMM");
}
Run Code Online (Sandbox Code Playgroud)
编辑2
我仍然不确定我是否应该每班只测试一个属性.在我看来,这允许我提供更多的规范 …
读取平面文件的并发性几乎是无限的(如果我错了,请纠正我); 但是写入的并发性如何?考虑在PHP中编写一个简单的访问日志(用于访问),以附加一行以.结尾的访问详细信息\n
fopen(); // in append mode
fwrite();
fclose();
Run Code Online (Sandbox Code Playgroud)
由于我们有并发访问者,系统(一个用户是wbserver/php用户)如何同时写入视图日志?
我的困惑是:函数file_put_contents()(这是上述三个函数的包装)有一个lock(LOCK_EX)选项吗?使用这种锁定选项是否有益?这将如何影响日志写作?
更新:我的问题是关于LOCK最初如何工作/影响将日志写入文件.我不比较file_put_contents和fwrite; 甚至我的问题也不仅限于此PHP.问题是在写入过程中锁定文件.
我们正在设计对当前系统(C++\CLI和C#)的更新.该系统将从~10K设备(在不久的将来)收集少量(~1Mb)数据量.目前,它们用于将设备数据保存在CSV(表格)中,并将所有这些数据存储在宽文件夹结构中.
仅插入数据(创建/附加到文件,创建文件夹)从不更新/删除.通过将许多CSV读取到外部程序(如Matlab)来完成数据处理.主要用于统计分析.
可以选择开始将此数据保存到MS-SQL数据库.处理时间(将CSV读取到外部程序)可能需要几分钟.
我很感激你的答案,欢迎利弊.
感谢您的时间.
我有一个解压缩并加载文本文件的SSIS包.它从调试器以及上传到生产环境的各种服务器上运行良好.
我现在的问题是:正在加载一个文件,一切都很好,但突然之间,在最后一个数据行(根据错误消息),最后一个字段被截断.我假设我们收到的文件可能搞砸了,打开它,一切都很好....
它是一个|分隔文件,没有文本限定符,也没有{CR}{LF}行分隔符.由于具有截断错误的字段是行中的最后一个字段(在本例中是整个文件的最后一个字段),因此其分隔符{CR}{LF}与|.
该文件看起来质朴,我甚至将它加载到Excel中没有任何问题,也没有抱怨.我已经通过VS 2008中的deugger运行包的本地机器运行了这个文件,它运行得很好.有没有人对这样的行为有任何问题?我无法在它崩溃的环境中测试它,因为它是我们的生产环境,而且这些都是高峰时段....所以任何建议都非常感激.
Description: Data conversion failed. The data conversion for column "ACD_Flag" returned status value 4 and status text "Text was truncated or one or more characters had no match in the target code page.". End Error Error: 2013-02-01 01:32:06.32 Code: 0xC020902A Source: Load ACD file into Table HDS Flat File 1 [9] Description: The "output column "ACD_Flag" (1040)" failed because truncation occurred, and the truncation row disposition …
我有一个大型数据结构,一棵树,占用大约2GB的内存.它包括叶子中的clojure集合,以及作为分支的refs.通过读取和解析大型平面文件并将行插入树中来构建树.然而,这需要大约30秒.有没有办法我可以构建一次树,将它发送到clj文件,然后将树编译到我的独立jar中,这样我就可以在树中查找值而无需重新读取大文本文件?我认为这将减少30秒的树构建,但这也将帮助我部署我的独立jar,而不需要文本文件来进行.
我的第一次摇摆失败了:
(def x (ref {:zebra (ref #{1 2 3 4})}))
#<Ref@6781a7dc: {:zebra #<Ref@709c4f85: #{1 2 3 4}>}>
(def y #<Ref@6781a7dc: {:zebra #<Ref@709c4f85: #{1 2 3 4}>}>)
RuntimeException Unreadable form clojure.lang.Util.runtimeException (Util.java:219)
Run Code Online (Sandbox Code Playgroud) 是否有任何与 JavaScript 配合良好的平面文件数据库系统,例如 JSON 格式或类似格式的数据库系统。我听说过mongodb、couchdb等,但似乎它的整个设置必须安装在计算机上。
当然,我不能使用sqlite,因为我认为我无法通过 javascript 操作它,而且我不想为我的小应用程序使用任何服务器端语言。
我也在谷歌上搜索过。基本上我只是在寻找平面文件数据库系统,我可以将其放入javascript应用程序的文件夹(即便携式数据库和应用程序)中,并且能够在任何地方使用它,例如在其他计算机上,而无需安装任何依赖项?那里存在这样的便携式平面文件数据库吗?
flat-file ×10
ssis ×3
c# ×2
database ×2
sql-server ×2
basic ×1
c++-cli ×1
clojure ×1
compilation ×1
concurrency ×1
couchdb ×1
dataflowtask ×1
editor ×1
fopen ×1
fwrite ×1
import ×1
insert ×1
javascript ×1
mongodb ×1
mspec ×1
parsing ×1
php ×1
relational ×1
sql ×1
text-editor ×1
tree ×1
unit-testing ×1
where-clause ×1