答案:SELECT * into 要导入的表名
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\EXCEL文件名.xls";User ID=;Password=;Extended properties=Excel 5.0')...[sheet1$]
其他:把数据给我,我帮助您解决。 在sql服务器上用企业管理工具中选择对应数据库的表再选择导入功能-选择要导入的EXCEL文件一直点击下一步再选择对应的字段再完成就行了。 打开企业管理器,选择要导入的数据库,选择导入数据,数据源选择excel文件,下一步选择对应的库,选择对应的表和字段,好了,下一步 是sql server 就是这样,在企业管理器中选中要导入数据的表,右击-导入数据,在弹出的页面选择数据源类型时,先择excel版本根据你的excel版本来试,然后就是一直下一步,到最后有个预览,选择excel对应数据表的字段。点击立即导入,over! 企业管理器中直接就有excel的导入导出操作。 1、生成一个excel表
工作表名称:website
包含的列:spid,spname,spiniprice,spincextent,spnowprice,spimage,spbidnum,spauctype,spbaucdt,speaucdt,spstat,buyerid,sitename,siteurl
部分截图:
2、存储过程
--1、涉及到的表:wl_siteposition(网站位表),wl_comsite(竞价网站表),excel表(需要物理路径)
--2、功能:若网站位表不存在记录,则从excel表中导入;反之,把网站位表中的记录导入到竞价网站表,和 "把excel表中的数据导入数据库" 有关的数据库编程小帖士:
strong>SORT
SORT函数返回一数字的算术平方根。
--同时,清空网站位表,之后再把excel表中的数据导入到表wl_siteposition;
create procedure wl_job_websiteauction as
declare @err1 int
declare @err2 int
declare @err3 int
declare @err4 int
declare @err5 int
declare @err6 int
set @err1 = 0
set @err2 = 0
set @err3 = 0
set @err4 = 0
set @err5 = 0
set @err6 = 0
set nocount on
--设置事务隔离级别
--set transaction isolation level serializable
--ole/db provider 不支持隔离层
begin tran --开始事务
--set xact_abort on --
if (select count(*) from wl_siteposition)>0
begin
--把数据从网站位表中导入到竞价网站表
truncate table wl_comsite --清空竞价网站表
set @err1 = @@error
--把数据从网站位表中导入到竞价网站表中
insert into wl_comsite(csitename,csiteurl,csitevdt,spid,buyerid)
select sitename,siteurl,dateadd(day,7,speaucdt) as csitevdt,spid,buyerid
from wl_siteposition order by spid
set @err2 = @@error
truncate table wl_siteposition--清空网站位表
set @err3 = @@error
--把数据从excel表导入到网站位表中
insert into wl_siteposition(spid,spname,spiniprice,spincextent,spnowprice,spimage,spbidnum,spauctype,spbaucdt,speaucdt,spstat,buyerid,sitename,siteurl)
select spid,spname,spiniprice,spincextent,spnowprice,spimage,spbidnum,spauctype,spbaucdt,speaucdt,spstat,buyerid,sitename,siteurl
from opendatasource('microsoft.jet.oledb.4.0','data source="d:\work\我傲\竞拍设计\websiteposition_data.xls";extended properties="excel 8.0";persist security info=false')...[website$]
set @err4 = @@error
end
else
begin
--把数据从excel表导入到网站位表中
insert into wl_siteposition(spid,spname,spiniprice,spincextent,spnowprice,spimage,spbidnum,spauctype,spbaucdt,speaucdt,spstat,buyerid,sitename,siteurl)
select spid,spname,spiniprice,spincextent,spnowprice,spimage,spbidnum,spauctype,spbaucdt,speaucdt,spstat,buyerid,sitename,siteurl
from opendatasource('microsoft.jet.oledb.4.0','data source="d:\work\我傲\竞拍设计\websiteposition_data.xls";extended properties="excel 8.0";persist security info=false')...[website$]
set @err5 = @@error
--把数据从网站位表中导入到竞价网站表中
insert into wl_comsite(csitename,csiteurl,csitevdt,spid,buyerid)
select sitename,siteurl,dateadd(day,7,speaucdt) as csitevdt,spid,buyerid
from wl_siteposition order by spid
set @err6 = @@error
end
if @err1=0 and @err2=0 and @err3=0 and @err4=0 and @err5=0 and @err6=0
commit tran
else
rollback tran
set nocount off
go 创建一个 SQL Server 的 ODBC
Access 创建一个链接表 ODBC 方式链接
Excel 数据, 复制 粘贴到 Access 链接表
== Excel 数据 复制 粘贴到 SQL Server 在sql服务器上用企业管理工具中的导入功能可以实现。 可以使用opendatasource非常灵活 没有直接途径.需要借助java. 将数据保存为CSV格式文件,用sql*loader加载到sql sql数据库有相应的导入功能,选择从文件导入就可以了。 从Excel文件中,导入数据到SQL数据库中,很简单,直接用下面的语句:
/*===================================================================*/
select * from OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=Yes;database=c:\ftng.xls','select * from [FTNG$]')
--如果接受数据导入的表已经存在
insert into 表 select * from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
--如果导入数据并生成表
select * into 表 from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
/*===================================================================*/
--如果从SQL数据库中,导出数据到Excel,如果Excel文件已经存在,而且已经按照要接收的数据创建好表头,就可以简单的用:
insert into OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
select * from 表
--如果Excel文件不存在,也可以用BCP来导成类Excel的文件,注意大小写:
--导出表的情况
EXEC master..xp_cmdshell 'bcp 数据库名.dbo.表名 out "c:\test.xls" /c -/S"服务器名" /U"用户名" -P"密码"' 最稳妥的办法是用SQL Server的“导入导出工具”,可以转换格式! 在树形结构图 一栏中-->选择 表 这个菜单 右键-->所有任务-->选择导入数据-->在数据源中选择microsoft excel 97-2000-->指定你的excel位置-->填好你的服务器名以及登录方式-->下一步-->选择你需要导入数据的sheet,其中过来有个目的,这个目的指定你要导入的表-->下一步。。。-->完成。。 上边那个Function Open_Conn(SqlDatabaseName,SqlPassword,SqlUsername,SqlLocalName,SqlConn)
是连接sql数据库的函数,可以这样调用:
Call Open_Conn("Shat_EDG","sa","sa","(local)",SqlConn) '打开SQL Server数据库连接
连接Excel的连接函数要重新写的,可以这样写:
function open_excel_conn(filename)
on error resume next
Set conn=server.createobject("adodb.connection")
badgirl="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.Mappath(filename)&";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1';"
conn.open badgirl
If Err.Number <> 0 Then
Response.write "不能打开指定的Excel,请查实!<a href='upexcel.htm'>返回</a>"
Response.end
else
On Error GoTo 0
end if
end function
你可以在代码的最后继续写
call open_excel_conn(Trim(Request("File")))
可以使用DTSWizard 工具导入或者导出excel ,格式化的文本,access,等文件中的数据。 sql有数据库导入导出向导呀,用这个直接就能导入了。 用导入导出向导就可以了,SQL里面有的 第一 首先在数据库里面建立一个 和excel表列名相符的表,用sql就可以 很简单
第二步用 toad to oracal 导入就可以了 选择你建立表的地址 打开toad to oracle 建立连接 就能导入
上一个:如何写成类似EXCEL合并单元格的SQL?
下一个:PL/SQL查询结果(远超过excel表6万),如何导出为DBF格式? DBF,号称,就是数据库,没有行数限制的!!!求