[英]How to SQL-query this excel table with accented names of the columns in header?
摘要:使用Jet.OLEDB提供程序和SQL查询,我无法从Excel表中提取某些列。 原因可能是标题文本包含一些重音字符。 可以从技术上参考这些列吗? 诸如K
或C12
列之类的东西,而不是使用标题的文本...
详细信息:实际上,可以从http://www.sukl.cz/file/80129_1_1下载特定的Excel文档-文档名称为DistribuceLP_2015_01.xls
(请参阅后面的说明)。 它包含一些要下载和提取的公共可用统计信息。
下载并保存文件后,我确实提取了一些没有问题的列;
我有一个使用连接字符串,目标目录和一系列SQL命令+目标表名称的工具。 它使用提取的内容生成简单的旧DBF表。 带有转换说明的文本文件如下所示-因此您可以看到连接字符串和SELECT查询。 工作表已重命名以测试到A
:
connection:Provider=Microsoft.Jet.OLEDB.4.0;Data source=d:\download\DistribuceLP_2015_01.xls;Extended Properties="Excel 8.0;HDR=Yes;"
outputdir:.
----------------
test
SELECT
[Období] AS obdo,
[Typ odběratele] AS typodb,
ATC7,
[Kód SÚKL] AS kodsukl,
[Název přípravku] AS nazev,
[Doplněk názvu] AS baleni,
[Držitel registračního rozhodnutí] AS drr,
[Země] AS zeme,
[Typ pohybu] AS pohyb,
[Počet balení/M] AS pocbal,
[Cena za balení bez obch. přirážky a DPH] AS cenabal, -- !!!
[Celkem finance za všechna balení bez obch. přirážky a DPH] AS cena, -- !!!
[Počet definovaných denních dávek/balení] AS dendavek,
[Počet denních definovaných dávek/balení celkem] AS davek,
[Způsob výdeje] AS vydej
FROM [A$]
它几乎可以工作。 如果我删除以-- !!!
标记的行 ,提取效果很好。 两条标记的线会导致错误。 我怀疑带重音的字母ř或文字中的点 。
您是否有类似案件的经验?
我认为您需要使用对重音不敏感的归类,因为您的归类设置在目标数据库中可能会有所不同:
SELECT
[Období] COLLATE Latin1_general_CI_AI AS obdo,
[Typ odběratele] COLLATE Latin1_general_CI_AI AS typodb,
ATC7,
[Kód SÚKL] COLLATE Latin1_general_CI_AI AS kodsukl,
[Název přípravku] COLLATE Latin1_general_CI_AI AS nazev,
[Doplněk názvu] COLLATE Latin1_general_CI_AI AS baleni,
[Držitel registračního rozhodnutí] COLLATE Latin1_general_CI_AI AS drr,
[Země] COLLATE Latin1_general_CI_AI AS zeme,
[Typ pohybu] AS pohyb,
[Počet balení/M] COLLATE Latin1_general_CI_AI AS pocbal,
[Cena za balení bez obch. přirážky a DPH] COLLATE Latin1_general_CI_AI AS cenabal, -- !!!
[Celkem finance za všechna balení bez obch. přirážky a DPH] COLLATE Latin1_general_CI_AI AS cena, -- !!!
[Počet definovaných denních dávek/balení] COLLATE Latin1_general_CI_AI AS dendavek,
[Počet denních definovaných dávek/balení celkem] COLLATE Latin1_general_CI_AI AS davek,
[Způsob výdeje] COLLATE Latin1_general_CI_AI AS vydej
FROM [A$]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.