Pரத*_*ீப் 12 sql sql-server azure openrowset azure-blob-storage
我正在尝试将Azure Blob存储中存在的以下Excel文件导入SQL Server
EXCEL文件
询问
SELECT *
FROM OPENROWSET(
BULK 'container/testfile.xlsx',
DATA_SOURCE = 'ExternalSrcImport',
FORMATFILE='container/test.fmt', FORMATFILE_DATA_SOURCE = 'ExternalSrcImport',
codepage = 1252,
FIRSTROW = 1
) as data
Run Code Online (Sandbox Code Playgroud)
格式化文件
10.0
4
1 SQLCHAR 0 7 "\t" 1 DepartmentID ""
2 SQLCHAR 0 100 "\t" 2 Name SQL_Latin1_General_CP1_CI_AS
3 SQLCHAR 0 100 "\t" 3 GroupName SQL_Latin1_General_CP1_CI_AS
4 SQLCHAR 0 24 "\r\n" 4 ModifiedDate ""
Run Code Online (Sandbox Code Playgroud)
格式文件说明
当我执行查询时,出现以下错误
消息4863,级别16,状态1,行210的行1,列1(部门ID)的大负荷数据转换错误(截断)。
看起来格式文件中的字段终止符不起作用,导入文件有什么想法吗?
您的格式文件代表制表符分隔值文件的导入,但在源路径中您引用的是 xslx 文件。
Xslx 文件是多个 XML 文件的 ZIP 存档,批量导入将无法处理它。要打开它,您需要使用 Microsoft Jet 或 ACE 驱动程序,这里有一些示例:
using-openrowset-to-read-excel。在处理文件之前,您需要将文件从 blob 存储下载到本地磁盘。您可以使用 SQL Agent 或 SSIS 下载它。
其他选项是将数据保存为 CSV 或制表符分隔文件,然后直接从 Blob 存储加载。
| 归档时间: |
|
| 查看次数: |
205 次 |
| 最近记录: |