SQL Server (T-SQL) BAIv2 银行文件导入噩梦
Posted
技术标签:
【中文标题】SQL Server (T-SQL) BAIv2 银行文件导入噩梦【英文标题】:SQL Server (T-SQL) BAIv2 Banking File Importing Nightmare 【发布时间】:2015-10-29 20:03:20 【问题描述】:我想知道是否有人有将 BAIv2 银行文件导入 SQL Server 的好的解决方案。首先,文件具有“延续记录”,必须与父记录一起考虑。此外,T-SQL 没有一种令人愉快的方式来解析逗号分隔的字符串。最后,文件中的一个层次结构具有不同数量的元素,因此很难直接粘贴到表格中,因为列不会对齐。
这是来自地狱的文件。如果有人对如何导入和解析 BAIv2 银行文件有任何见解,我将不胜感激。
谢谢,
【问题讨论】:
我对该文件格式一无所知,但我建议您查看SSIS
。
如果必须逐行处理,最好使用 SQL 以外的语言,因为字符串处理会更好。
【参考方案1】:
您最好使用专用的应用服务器和真正的(通用)编程语言来处理这个问题。 T-SQL 不适合这项任务。
如果这不是一个选项,您可以使用 C# 的 SQL CLR 存储过程来解析文件。当我没有应用程序服务器选项时,我为银行平面文件做了类似的事情。
【讨论】:
所以你会建议避免使用 T-SQL 来完成这项任务?它没有原生的逗号分隔字符串处理函数,所以我们想出了一个集合返回函数,它返回一个表格,每一行都是逗号分隔字符串中的不同元素。不过真的看不出使用该功能的好方法。 如果 T-SQL 是您工具箱中唯一的工具,那么您必须使用它。但是,我建议您去著名的五金店寻找更好的工具。 我们同时提供 T-SQL 和 C#。我们尝试仅使用 T-SQL,但我认为该语言不会在这里解决问题。以上是关于SQL Server (T-SQL) BAIv2 银行文件导入噩梦的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server 2005 T-SQL中的Base64编码