对于 Excel,可以将每一个 Excel 工作簿在逻辑上视为包含若干个表的数据库。数据库中的表可以映射到 Excel 工作簿中的工作表。当您在 ODBC 驱动程序管理器中配置 ODBC 数据源名时,可以指定与该数据源相关联的缺省工作簿名称。不过,当您发出 CREATE TABLE 语句时,可以替换该缺省值并在位置字符串中指定工作簿名称。这样,您就可以只使用一个 ODBC DSN 来访问所有 Excel 工作簿。
在本例中,创建了一个名为 excel 的远程服务器。要创建名为 work1.xls 的工作簿,其中包含称为 mywork 的工作表(或表),请执行以下语句:
CREATE TABLE mywork (a int, b char(20)) AT 'excel;d:\work1.xls;;mywork'; |
要创建第二个工作表(或表),请执行下面的语句:
CREATE TABLE mywork2 (x float, y int) AT 'excel;d:\work1.xls;;mywork2'; |
您可以使用 CREATE EXISTING 语句将现有工作簿导入到 SQL Anywhere 中,前提是电子表格的第一行包含列名。
CREATE EXISTING TABLE mywork AT'excel;d:\work1;;mywork'; |
如果 SQL Anywhere 报告未找到该表,则可能需要明确说明您想要映射到的列和行范围。例如:
CREATE EXISTING TABLE mywork AT 'excel;d:\work1;;mywork$'; |
如果在工作表名中添加 $,则表示应选择整个工作表。
请注意,在 AT 指定的位置字符串中,使用分号而不是句点作为字段分隔符。这是因为句点出现在文件名中。Excel 不支持所有者名字段,因此请不要填写该字段。
Excel 也不支持删除操作。此外,由于 Excel 驱动程序不支持定位更新,因此可能无法进行某些更新。
![]() |
使用DocCommentXchange 讨论此页。
|
版权 © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |