如何使用标题中列的重音名称对此excel表进行SQL查询?

时间:2015-07-29 16:06:46

标签: sql excel oledb jet

摘要:使用Jet.OLEDB提供程序和SQL查询,我无法从Excel表中提取一些列。原因可能是标题文本包含一些重音字符。是否可以从技术上引用列?类似于列KC12而不是使用标题文本...

详细信息:实际上,可以从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$]

它几乎可以工作。如果我删除标有-- !!!的行,则提取正常。两条标记的行会导致错误。我怀疑文字中带有重音字母ř,或者可能是

您对类似案件有一些经验吗?

1 个答案:

答案 0 :(得分:1)

我认为您需要使用具有重音不敏感性的排序规则,因为您的目标数据库中的排序规则设置可能不同:

<s:form action="FetchData" name="userInformation">
    <display:table name="usersList" id="username" form="userInformation">
        <display:column property="username" title="نام کاربری" paramProperty="checkbox"/>
        <display:column property="portfolioName" title="نام حساب کاربری سیستم" paramProperty="checkbox"></display:column>
        <display:column property="firstName" title="نام"></display:column>
        <display:column property="lastName"/>
        <display:column property="fatherName"/>
        <display:column property="sex"/>
        <display:column property="nationalId"/>
        <display:column property="phoneNumber"/>
    </display:table>

</s:form>