求SQL语句

garnel 2012-05-03 10:57:18
求一条SQL语句将EXCEL表导入SQL Server 2008中,可用于DELPHI程序中(delphi2010)
补充:不是需要delphi的程序代码
...全文
131 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
garnel 2012-05-06
  • 打赏
  • 举报
回复
谁知道SQL自带的导入数据的方法是怎么实现的?
garnel 2012-05-04
  • 打赏
  • 举报
回复
可能是我没说清楚,补充一下
1。程序是在局域网中运行的(废话了)
2。需要导入数据库的excel表在客户端,使用人不了解SQLSERVER,也无法操作服务器
3。当然可以逐条读取表数据再插入SQLSERVER,但这样效率太低
4。各位目前提供的代码是在SQL里运行的,不能用于程序中
我看见佛 2012-05-04
  • 打赏
  • 举报
回复
SELECT * FROM  
OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="G:\A.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]

)...[Sheet1$] 这个是表名
garnel 2012-05-04
  • 打赏
  • 举报
回复
To case5166
在SQLServer2008中运行您的语句,出现以下错误:

尚未注册 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0 "。

而且,客户端导入数据,无法过分要求用户调整服务器上SQL Server设置
kaikai_kk 2012-05-04
  • 打赏
  • 举报
回复
搜索openrowset或者opendatasource,MSDN有例子,不过只能在SQL服务器上使用
buding79 2012-05-04
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
可以使用存储过程,存储过程执行的条件是,要处理的access数据库和sqlserver数据库在同一个电脑上。就是说,你要先把本地的access数据库上传到服务器上,然后执行。我处理的时候,是一条龙的。就是说对于客户来说,就是本地到远程。中间的过程我都处理了。

这个是sqlserver 2000 + office 2007 + delphi 7的环境。
@accPath,是Access数据库……
[/Quote]
看错了,以为是access数据库呢!!!!!!!!!!!!!!!!!!!!!!!!!!!
buding79 2012-05-04
  • 打赏
  • 举报
回复
可以使用存储过程,存储过程执行的条件是,要处理的access数据库和sqlserver数据库在同一个电脑上。就是说,你要先把本地的access数据库上传到服务器上,然后执行。我处理的时候,是一条龙的。就是说对于客户来说,就是本地到远程。中间的过程我都处理了。

这个是sqlserver 2000 + office 2007 + delphi 7的环境。
@accPath,是Access数据库的完整路径。

CREATE PROCEDURE TestProc @AccPath varchar(500) AS
Declare @SqlStr nvarchar(500)
Declare @AccValue varchar(500)
set @AccValue='Data Source="'+ @AccPath + '";User ID=Admin;Password='''
if exists(select * from sysobjects where name='测试表' and xtype='U')
Drop Table [测试表]
set @SqlStr = 'SELECT * INTO 测试表 FROM OPENDATASOURCE (''Microsoft.ACE.OLEDB.12.0'',''' + @AccValue + ')...测试表'
exec sp_executesql @SqlStr
GO
我看见佛 2012-05-03
  • 打赏
  • 举报
回复
查询
SELECT * FROM   OPENROWSET( 'Microsoft.Jet.OLEDB.4.0 ', 'Excel   5.0;DatabASE=[Excel表.xsl文件的路径];HDR=YES;IMEX=1 ', Sheet1$')


导入新表,INTO TESTTABLE则把数据导入到了 TESTTABLE里面
SELECT * INTO TESTTABLE FROM   OPENROWSET( 'Microsoft.Jet.OLEDB.4.0 ', 'Excel   5.0;DatabASE=[Excel表.xsl文件的路径];HDR=YES;IMEX=1 ', Sheet1$')

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧