首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OLEDB连接特定列

OLEDB连接特定列
EN

Stack Overflow用户
提问于 2016-10-26 13:56:09
回答 1查看 575关注 0票数 1

我有一个OLEDB数据连接,我只想将A:O列导入到一个表中。

我可以导入所有的data...successfully,但不局限于那些列(A:O)

我正在填充连接属性屏幕。

提前谢谢..。

Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=FILEPATH;Mode=ReadWrite;Extended Properties="IMEX=1;HDR=NO;string sql=“”从‘SHEETNAME’$A:$O“中选择*;Jet OLEDB:System database=”;Jet OLEDB:RegistryPath=“;Jet OLEDB:Engine Type=35;Jet OLEDB:数据库锁定Mode=0;Jet OLEDB:全局部分批量OLEDB:全局大容量OLEDB:新数据库Password=”;Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:不要在Compact=False上复制Locale;Jet OLEDB:没有副本的紧凑型Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:支持复杂的Data=False;Jet OLEDB:旁路UserInfo Validation=False;Jet OLEDB:有限DB Caching=False;Jet OLEDB:旁路ChoiceField Validation=True

EN

回答 1

Stack Overflow用户

发布于 2016-11-11 21:42:12

在' SHEETNAME ' $ A:$O中,您不需要SHEETNAME和第二个$的单引号。如下所示使用它:

代码语言:javascript
复制
select * from [SHEETNAME$A:O]

代码语言:javascript
复制
select * from [SHEETNAME$A1:O10000]

我已经成功地使用了range的OleDB select语句,但是它没有在连接字符串中指定,而是在OleDB命令中指定,如下所示:

代码语言:javascript
复制
cmd = new OleDbCommand("SELECT * FROM [Template$A1:Q10000]", conn);

或者在Server调用中:

代码语言:javascript
复制
SELECT ' + @columnList + ' 
    FROM OPENROWSET(' +
    '''Microsoft.ACE.OLEDB.12.0'', ' +
    '''Excel 12.0;Database=' + @TemplateFilePath + ';HDR=YES;IMEX=1'', ' +
    '''SELECT * FROM [Template$' + @TemplateColumnsRangeStart + ':' + @TemplateColumnsRangeEnd + ']'')

例如,@TemplateColumnsRangeStart='A5‘和或TemplateColumnsRangeEnd='Z’。

如果这有帮助的话请告诉我。

PS。欢迎来到StackOverflow,请查看Tour,开始询问、回答、投票等。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40264242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档