2

我有一个我的一位同事提供的 rpt 转储。我需要将此文件作为 SQL 表打开(我认为这是可能的,因为他从 SQL 表生成了 rpt 转储)。

我怎么做。我正在使用 SQL Server Management Studio。我还可以在 SSMS 中将 rpt 文件作为单独的文件打开。

4

2 回答 2

10

虽然这个答案很晚,但我没有看到打开 .rpt 文件格式并将其写入 SQL 表的问题的规范答案。

  1. 在对象资源管理器的 SQL Server Management Studio 中,右键单击要将文件加载到的数据库,然后选择任务...导入数据。

  2. 选择平面文件源,选择您的文件,然后确保屏幕设置为与以下屏幕截图匹配(代码页=65001 UTF-8,格式=右对齐,第一个数据行中的列名)。然后单击下一步。

设置平面文件源和衣衫褴褛的权利

  1. 单击每列的第一个字符(有关单击位置,请参见下面屏幕截图中的黄色突出显示)以在适当的位置插入列:

定义固定宽度的列

  1. 单击左侧的高级选项卡。遍历每个列名并删除列名末尾的空格。修复您认为合适的数据类型。警告前几列可能需要是字符串,因为“(受 NNN 影响的行)”文件页脚。

修复列名尾随空格和数据类型

  1. 转到左侧的预览选项卡,将“要跳过的数据行”更改为 1,然后单击刷新:

要跳过的数据行

  1. 单击下一步按钮并设置与 SQL 数据库的连接:

目标数据库连接信息

  1. 单击下一步并以格式输入表的名称,[dbo].[MyTable]然后单击编辑映射并确认列数据类型匹配。此处的字符串 (DT_STR) 列应为 varchar 列。Unicode 字符串 (DT_WSTR) 应该是这里的 nvarchar 列。

  2. 单击下一步并完成以立即运行。您应该希望看到成功消息而不是错误:

成功

  1. 有一个页脚显示“(受影响的 NNN 行)”(其中 NNN 是文件的行数)。查询目标 SQL 表以找到该行并将其删除。select * from MyTable where MyColumn1 like '%(%'可以帮助您找到该行。请确认查询只返回一行,然后再删除。
于 2019-05-17T14:08:23.857 回答
1

我能够在 Excel 中打开 RPT 文件,然后另存为 CSV

于 2016-11-29T06:15:19.703 回答