當前位置:首頁 » 編程語言 » sql語句導入excel

sql語句導入excel

發布時間: 2022-12-13 03:27:17

A. 如何實現把sql數據導入excel中

SQL語句導入導出大全
/******* 導出到excel
EXEC master..xp_cmdshell 』bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""』
/*********** 導入Excel
SELECT *
FROM OpenDataSource( 』Microsoft.Jet.OLEDB.4.0』,
』Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0』)...xactions

SELECT cast(cast(科目編號 as numeric(10,2)) as nvarchar(255))+』 』 轉換後的別名
FROM OpenDataSource( 』Microsoft.Jet.OLEDB.4.0』,
』Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0』)...xactions
/** 導入文本文件
EXEC master..xp_cmdshell 』bcp "dbname..tablename" in c:\DT.txt -c -Sservername -Usa -Ppassword』
/** 導出文本文件
EXEC master..xp_cmdshell 』bcp "dbname..tablename" out c:\DT.txt -c -Sservername -Usa -Ppassword』

EXEC master..xp_cmdshell 』bcp "Select * from dbname..tablename" queryout c:\DT.txt -c -Sservername -Usa -Ppassword』
導出到TXT文本,用逗號分開
exec master..xp_cmdshell 』bcp "庫名..表名" out "d:\tt.txt" -c -t ,-U sa -P password』

BULK INSERT 庫名..表名
FROM 』c:\test.txt』
WITH (
FIELDTERMINATOR = 』;』,
ROWTERMINATOR = 』\n』
)

--/* dBase IV文件
select * from
OPENROWSET(』MICROSOFT.JET.OLEDB.4.0』
,』dBase IV;HDR=NO;IMEX=2;DATABASE=C:\』,』select * from [客戶資料4.dbf]』)
--*/
--/* dBase III文件
select * from
OPENROWSET(』MICROSOFT.JET.OLEDB.4.0』
,』dBase III;HDR=NO;IMEX=2;DATABASE=C:\』,』select * from [客戶資料3.dbf]』)
--*/
--/* FoxPro 資料庫
select * from openrowset(』MSDASQL』,
』Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\』,
』select * from [aa.DBF]』)
--*/
/**************導入DBF文件****************/
select * from openrowset(』MSDASQL』,
』Driver=Microsoft Visual FoxPro Driver;
SourceDB=e:\VFP98\data;
SourceType=DBF』,
』select * from customer where country != "USA" order by country』)
go
/***************** 導出到DBF ***************/
如果要導出數據到已經生成結構(即現存的)FOXPRO表中,可以直接用下面的SQL語句
insert into openrowset(』MSDASQL』,
』Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\』,
』select * from [aa.DBF]』)
select * from 表
說明:
SourceDB=c:\ 指定foxpro表所在的文件夾
aa.DBF 指定foxpro表的文件名.

/*************導出到Access********************/
insert into openrowset(』Microsoft.Jet.OLEDB.4.0』,
』x:\A.mdb』;』admin』;』』,A表) select * from 資料庫名..B表
/*************導入Access********************/
insert into B表 selet * from openrowset(』Microsoft.Jet.OLEDB.4.0』,
』x:\A.mdb』;』admin』;』』,A表)
********************* 導入 xml 文件
DECLARE @idoc int
DECLARE @doc varchar(1000)
--sample XML document
SET @doc =』
<root>
<Customer cid= "C1" name="Janine" city="Issaquah">
<Order oid="O1" date="1/20/1996" amount="3.5" />
<Order oid="O2" date="4/30/1997" amount="13.4">Customer was very satisfied
</Order>
</Customer>
<Customer cid="C2" name="Ursula" city="Oelde" >
<Order oid="O3" date="7/14/1999" amount="100" note="Wrap it blue
white red">
<Urgency>Important</Urgency>
Happy Customer.
</Order>
<Order oid="O4" date="1/20/1996" amount="10000"/>
</Customer>
</root>

-- Create an internal representation of the XML document.
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc
-- Execute a SELECT statement using OPENXML rowset provider.
SELECT *
FROM OPENXML (@idoc, 』/root/Customer/Order』, 1)
WITH (oid char(5),
amount float,
comment ntext 』text()』)
EXEC sp_xml_removedocument @idoc

/********************導整個資料庫*********************************************/
用bcp實現的存儲過程

/*
實現數據導入/導出的存儲過程
根據不同的參數,可以實現導入/導出整個資料庫/單個表
調用示例:
--導出調用示例
----導出單個表
exec file2table 』zj』,』』,』』,』xzkh_sa..地區資料』,』c:\zj.txt』,1
----導出整個資料庫
exec file2table 』zj』,』』,』』,』xzkh_sa』,』C:\docman』,1
--導入調用示例
----導入單個表
exec file2table 』zj』,』』,』』,』xzkh_sa..地區資料』,』c:\zj.txt』,0
----導入整個資料庫
exec file2table 』zj』,』』,』』,』xzkh_sa』,』C:\docman』,0
*/
if exists(select 1 from sysobjects where name=』File2Table』 and objectproperty(id,』IsProcere』)=1)
drop procere File2Table
go
create procere File2Table
@servername varchar(200) --伺服器名
,@username varchar(200) --用戶名,如果用NT驗證方式,則為空』』
,@password varchar(200) --密碼
,@tbname varchar(500) --資料庫.dbo.表名,如果不指定:.dbo.表名,則導出資料庫的所有用戶表
,@filename varchar(1000) --導入/導出路徑/文件名,如果@tbname參數指明是導出整個資料庫,則這個參數是文件存放路徑,文件名自動用表名.txt
,@isout bit --1為導出,0為導入
as
declare @sql varchar(8000)
if @tbname like 』%.%.%』 --如果指定了表名,則直接導出單個表
begin
set @sql=』bcp 』+@tbname
+case when @isout=1 then 』 out 』 else 』 in 』 end
+』 "』+@filename+』" /w』
+』 /S 』+@servername
+case when isnull(@username,』』)=』』 then 』』 else 』 /U 』+@username end
+』 /P 』+isnull(@password,』』)
exec master..xp_cmdshell @sql
end
else
begin --導出整個資料庫,定義游標,取出所有的用戶表
declare @m_tbname varchar(250)
if right(@filename,1)<>』\』 set @filename=@filename+』\』
set @m_tbname=』declare #tb cursor for select name from 』+@tbname+』..sysobjects where xtype=』』U』』』
exec(@m_tbname)
open #tb
fetch next from #tb into @m_tbname
while @@fetch_status=0
begin
set @sql=』bcp 』+@tbname+』..』+@m_tbname
+case when @isout=1 then 』 out 』 else 』 in 』 end
+』 "』+@filename+@m_tbname+』.txt " /w』
+』 /S 』+@servername
+case when isnull(@username,』』)=』』 then 』』 else 』 /U 』+@username end
+』 /P 』+isnull(@password,』』)
exec master..xp_cmdshell @sql
fetch next from #tb into @m_tbname
end
close #tb
deallocate #tb
end
go

/**********************Excel導到Txt****************************************/
想用
select * into opendatasource(...) from opendatasource(...)
實現將一個Excel文件內容導入到一個文本文件
假設Excel中有兩列,第一列為姓名,第二列為很行帳號(16位)
且銀行帳號導出到文本文件後分兩部分,前8位和後8位分開。

如果要用你上面的語句插入的話,文本文件必須存在,而且有一行:姓名,銀行賬號1,銀行賬號2
然後就可以用下面的語句進行插入
注意文件名和目錄根據你的實際情況進行修改.
insert into
opendatasource(』MICROSOFT.JET.OLEDB.4.0』
,』Text;HDR=Yes;DATABASE=C:\』
)...[aa#txt]
--,aa#txt)
--*/
select 姓名,銀行賬號1=left(銀行賬號,8),銀行賬號2=right(銀行賬號,8)
from
opendatasource(』MICROSOFT.JET.OLEDB.4.0』
,』Excel 5.0;HDR=YES;IMEX=2;DATABASE=c:\a.xls』
--,Sheet1$)
)...[Sheet1$]
如果你想直接插入並生成文本文件,就要用bcp
declare @sql varchar(8000),@tbname varchar(50)
--首先將excel表內容導入到一個全局臨時表
select @tbname=』[##temp』+cast(newid() as varchar(40))+』]』
,@sql=』select 姓名,銀行賬號1=left(銀行賬號,8),銀行賬號2=right(銀行賬號,8)
into 』+@tbname+』 from
opendatasource(』』MICROSOFT.JET.OLEDB.4.0』』
,』』Excel 5.0;HDR=YES;IMEX=2;DATABASE=c:\a.xls』』
)...[Sheet1$]』
exec(@sql)
--然後用bcp從全局臨時表導出到文本文件
set @sql=』bcp "』+@tbname+』" out "c:\aa.txt" /S"(local)" /P"" /c』
exec master..xp_cmdshell @sql
--刪除臨時表
exec(』drop table 』+@tbname)

用bcp將文件導入導出到資料庫的存儲過程:

/*--bcp-二進制文件的導入導出
支持image,text,ntext欄位的導入/導出
image適合於二進制文件;text,ntext適合於文本數據文件
注意:導入時,將覆蓋滿足條件的所有行
導出時,將把所有滿足條件的行也出到指定文件中
此存儲過程僅用bcp實現
鄒建 2003.08-----------------*/
/*--調用示例
--數據導出
exec p_binaryIO 』zj』,』』,』』,』acc_演示數據..tb』,』img』,』c:\zj1.dat』
--數據導出
exec p_binaryIO 』zj』,』』,』』,』acc_演示數據..tb』,』img』,』c:\zj1.dat』,』』,0
--*/
if exists (select * from dbo.sysobjects where id = object_id(N』[dbo].[p_binaryIO]』) and OBJECTPROPERTY(id, N』IsProcere』) = 1)
drop procere [dbo].[p_binaryIO]
GO
Create proc p_binaryIO
@servename varchar (30),--伺服器名稱
@username varchar (30), --用戶名
@password varchar (30), --密碼
@tbname varchar (500), --資料庫..表名
@fdname varchar (30), --欄位名
@fname varchar (1000), --目錄+文件名,處理過程中要使用/覆蓋:@filename+.bak
@tj varchar (1000)=』』, --處理條件.對於數據導入,如果條件中包含@fdname,請指定表名前綴
@isout bit=1 --1導出((默認),0導入
AS
declare @fname_in varchar(1000) --bcp處理應答文件名
,@fsize varchar(20) --要處理的文件的大小
,@m_tbname varchar(50) --臨時表名
,@sql varchar(8000)
--則取得導入文件的大小
if @isout=1
set @fsize=』0』
else
begin
create table #tb(可選名 varchar(20),大小 int
,創建日期 varchar(10),創建時間 varchar(20)
,上次寫操作日期 varchar(10),上次寫操作時間 varchar(20)
,上次訪問日期 varchar(10),上次訪問時間 varchar(20),特性 int)
insert into #tb
exec master..xp_getfiledetails @fname
select @fsize=大小 from #tb
drop table #tb
if @fsize is null
begin
print 』文件未找到』
return
end
end
--生成數據處理應答文件
set @m_tbname=』[##temp』+cast(newid() as varchar(40))+』]』
set @sql=』select * into 』+@m_tbname+』 from(
select null as 類型
union all select 0 as 前綴
union all select 』+@fsize+』 as 長度
union all select null as 結束
union all select null as 格式
) a』
exec(@sql)
select @fname_in=@fname+』_temp』
,@sql=』bcp "』+@m_tbname+』" out "』+@fname_in
+』" /S"』+@servename
+case when isnull(@username,』』)=』』 then 』』
else 』" /U"』+@username end
+』" /P"』+isnull(@password,』』)+』" /c』
exec master..xp_cmdshell @sql
--刪除臨時表
set @sql=』drop table 』+@m_tbname
exec(@sql)
if @isout=1
begin
set @sql=』bcp "select top 1 』+@fdname+』 from 』
+@tbname+case isnull(@tj,』』) when 』』 then 』』
else 』 where 』+@tj end
+』" queryout "』+@fname
+』" /S"』+@servename
+case when isnull(@username,』』)=』』 then 』』
else 』" /U"』+@username end
+』" /P"』+isnull(@password,』』)
+』" /i"』+@fname_in+』"』
exec master..xp_cmdshell @sql
end
else
begin
--為數據導入准備臨時表
set @sql=』select top 0 』+@fdname+』 into 』
+@m_tbname+』 from 』 +@tbname
exec(@sql)
--將數據導入到臨時表
set @sql=』bcp "』+@m_tbname+』" in "』+@fname
+』" /S"』+@servename
+case when isnull(@username,』』)=』』 then 』』
else 』" /U"』+@username end
+』" /P"』+isnull(@password,』』)
+』" /i"』+@fname_in+』"』
exec master..xp_cmdshell @sql
--將數據導入到正式表中
set @sql=』update 』+@tbname
+』 set 』+@fdname+』=b.』+@fdname
+』 from 』+@tbname+』 a,』
+@m_tbname+』 b』
+case isnull(@tj,』』) when 』』 then 』』
else 』 where 』+@tj end
exec(@sql)
--刪除數據處理臨時表
set @sql=』drop table 』+@m_tbname
end
--刪除數據處理應答文件
set @sql=』del 』+@fname_in
exec master..xp_cmdshell @sql
go

/** 導入文本文件
EXEC master..xp_cmdshell 』bcp "dbname..tablename" in c:\DT.txt -c -Sservername -Usa -Ppassword』
改為如下,不需引號
EXEC master..xp_cmdshell 』bcp dbname..tablename in c:\DT.txt -c -Sservername -Usa -Ppassword』
/** 導出文本文件
EXEC master..xp_cmdshell 』bcp "dbname..tablename" out c:\DT.txt -c -Sservername -Usa -Ppassword』
此句需加引號

B. sqlyog導入excel數據的方法步驟

在 Excel 中錄入好數據以後可能會需要把數據給導入到sqlyog裡面,具體要怎麼導入excel數據呢?下面是由我分享的sqlyog導入excel數據的 方法 ,以供大家閱讀和學習。

sqlyog導入excel數據的方法

sqlyog導入Excel步驟1:選擇菜單:Table→Import→Import External Data


sqlyog導入excel數據的方法圖1

sqlyog導入Excel步驟2:選擇是否使用舊job文件


sqlyog導入excel數據的方法圖2

sqlyog導入Excel步驟3:選擇數據源xls文件


sqlyog導入excel數據的方法圖3

sqlyog導入Excel步驟4:選擇要導入的資料庫


sqlyog導入excel數據的方法圖4

sqlyog導入Excel步驟5:選擇 導入方式,是拷貝文件數據還是使用select查詢語句


sqlyog導入excel數據的方法圖5

sqlyog導入Excel步驟6:選擇目標表


sqlyog導入excel數據的方法圖6

sqlyog導入Excel步驟7:選擇源數據和目標數據的欄位映射關系


sqlyog導入excel數據的方法圖7

sqlyog導入Excel步驟8:選擇對錯誤的處理方式


sqlyog導入excel數據的方法圖8

sqlyog導入Excel步驟9:選擇是否立即運行、保存為調度文件、記錄數據導入日誌


sqlyog導入excel數據的方法圖9

sqlyog導入Excel步驟10:檢查導入過程是否出現錯誤和警告


sqlyog導入excel數據的方法圖10

C. 怎麼把sql導入到excel表格

excel——數據——自其它來源——來自sqlserver——填寫伺服器名稱和密碼——一路下一步,選擇表名稱,完成。連接屬性——定義——命令類型、命令文本里可以寫sql語句的,例如 」select * from 表1 where filename like '%.dat'「。不懂的追問或私信,我發動態圖給你。

D. SQL資料庫 導入到EXCEL表格

1.做查詢,將你要的數據查出來,然後按shift
將結果全選.
2.打開excle,直接粘貼就可以了,但數據不要超過65536行,如果是2007則不受限制

E. 如何利用SQL查詢語句從SQLSERVER資料庫中導入導出EXCEL表格

一、從excel表導入到SQLSERVER
use test
go
select * into test_table from
OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=yes;database=c:\11.xls;','select * from [結果$]')
--1.通過Sql Server查詢分析器查詢D:\abc.xls 裡面表 sheet1
SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="D:\abc.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
--2.如果表a存在,並且表a的結構與上一步的查詢的結構一樣
可以使用
insert into a SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="D:\abc.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
--3.如果表a不存在,使用into a
SELECT * into a FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="D:\abc.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
說明:test_table為SQLSERVER資料庫中的表,11.xls是EXCEL表,[結果$]是EXCEL表中的工作表,注意寫法是工作表名加上$符號。
2從SQLSERVER資料庫中導出到EXCEL(一般用語句導庫是在應用程序中,利用各種語言實現,如果不做開發項目,用DTS就很好了,在
SQLSERVER查詢器中利用單條SQL語句實現導入導出不方便,類型轉換是個問題,不好解決)
第一種,無法導入欄位名:(excel表不存在,新建)
EXEC master..xp_cmdshell
'bcp zhou.dbo.資料庫表名 out "c:\test.xls" /c /S "伺服器名" /U "用戶名" -P "密碼" '
第二種,excel文件已存在,要手工把表欄位名填到excel文件中去,再執行下面:
insert into OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 8.0;HDR=YES;DATABASE=c:\文件名.xls',sheet1$)
select * from 表名
第三種,想實現全自動轉欄位名和記錄,一條語句實現不了,要用到過程,當然如果要做一個自動轉換程序,用VB或者VC語言也可實現。
把下面的過程全拷入SQLSERVER查詢分析器,執行,生成一個過程,過程名為:p_exporttb,然後按應用例子執行過程就OK了,自
動導表
/*******************************/
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_exporttb]') and OBJECTPROPERTY(id, N'IsProcere') = 1)
drop procere [dbo].[p_exporttb]
GO
create proc p_exporttb
@sqlstr varchar(8000), --查詢語句,如果查詢語句中使用了order by ,請加上top 100 percent
@path nvarchar(1000), --文件存放目錄
@fname nvarchar(250), --文件名
@sheetname varchar(250)='' --要創建的工作表名,默認為文件名
as
declare @err int,@src nvarchar(255),@desc nvarchar(255),@out int
declare @obj int,@constr nvarchar(1000),@sql varchar(8000),@fdlist varchar(8000)
--參數檢測
if isnull(@fname,'')='' set @fname='temp.xls'
if isnull(@sheetname,'')='' set @sheetname=replace(@fname,'.','#')
--檢查文件是否已經存在
if right(@path,1)<>'\' set @path=@path+'\'
create table #tb(a bit,b bit,c bit)
set @sql=@path+@fname
insert into #tb exec master..xp_fileexist @sql
--資料庫創建語句
set @sql=@path+@fname
if exists(select 1 from #tb where a=1)
set @constr='DRIVER={Microsoft Excel Driver (*.xls)};DSN='''';READONLY=FALSE'
+';CREATE_DB="'+@sql+'";DBQ='+@sql
else
set @constr='Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties="Excel 8.0;HDR=YES'
+';DATABASE='+@sql+'"'
--連接資料庫
exec @err=sp_oacreate 'adodb.connection',@obj out
if @err<>0 goto lberr
exec @err=sp_oamethod @obj,'open',null,@constr
if @err<>0 goto lberr
--創建表的SQL
declare @tbname sysname
set @tbname='##tmp_'+convert(varchar(38),newid())
set @sql='select * into ['+@tbname+'] from('+@sqlstr+') a'
exec(@sql)
select @sql='',@fdlist=''
select @fdlist=@fdlist+',['+a.name+']'
,@sql=@sql+',['+a.name+'] '
+case
when b.name like '%char'
then case when a.length>255 then 'memo'
else 'text('+cast(a.length as varchar)+')' end
when b.name like '%int' or b.name='bit' then 'int'
when b.name like '%datetime' then 'datetime'
when b.name like '%money' then 'money'
when b.name like '%text' then 'memo'
else b.name end
FROM tempdb..syscolumns a left join tempdb..systypes b on a.xtype=b.xusertype
where b.name not in('image','uniqueidentifier','sql_variant','varbinary','binary','timestamp')
and a.id=(select id from tempdb..sysobjects where name=@tbname)
if @@rowcount=0 return
select @sql='create table ['+@sheetname
+']('+substring(@sql,2,8000)+')'
,@fdlist=substring(@fdlist,2,8000)
exec @err=sp_oamethod @obj,'execute',@out out,@sql
if @err<>0 goto lberr
exec @err=sp_oadestroy @obj
--導入數據
set @sql='openrowset(''MICROSOFT.JET.OLEDB.4.0'',''Excel 8.0;HDR=YES
;DATABASE='+@path+@fname+''',['+@sheetname+'$])'
exec('insert into '+@sql+'('+@fdlist+') select '+@fdlist+' from ['+@tbname+']')
set @sql='drop table ['+@tbname+']'
exec(@sql)
return
lberr:
exec sp_oageterrorinfo 0,@src out,@desc out
lbexit:
select cast(@err as varbinary(4)) as 錯誤號
,@src as 錯誤源,@desc as 錯誤描述
select @sql,@constr,@fdlist
go

F. 把SQL資料庫表導入到Excel表

果從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
pubs.dbo.authors
out
c:\temp1.xls
-c
-q
-S"HUAWEI-CECF7A04"
-U"sa"
-P"sa"''
執行SQL語句導出:
EXEC
master..xp_cmdshell
'bcp
"SELECT
au_fname
FROM
pubs.dbo.authors"
queryout
c:\temp1.xls
-c
-S"HUAWEI-CECF7A04"
-U"sa"
-P"sa"'
注意以上c:\temp1.xls必須不存在
使用CopyFromRecordset將一個記錄集中的所有記錄一起寫入EXCEL
示例
本示例將
DAO
Recordset
對象中的欄位名稱復制到工作表的第一行中,並將這些名稱的格式設為加粗。然後,本示例將記錄集復制到工作表中,復制的起始位置在
A2
單元格。
For
iCols
=
0
to
rs.Fields.Count
-
1
ws.Cells(1,
iCols
+
1).Value
=
rs.Fields(iCols).Name
Next
ws.Range(ws.Cells(1,
1),
_
ws.Cells(1,
rs.Fields.Count)).Font.Bold
=
True
ws.Range("A2").CopyFromRecordset
rs

G. mysql sql語句導入excel

1.數據透視視圖是處理Excel常用的手段,而應用數據透視視圖的第一步就是導入數據,如本例中,表中有889167行數據,那麼將這些數據導入Excel表中將是一個很漫長的過程,可以藉助SQL語句選擇性的導入數據,以此來提交數據載入的速度。

H. 如何使用Transact-SQL腳本語言導入Excel表

一、執行導入腳本前需要做的幾項工作
注意:如果以下幾步不執行,導入數據時會提示出錯,錯誤信息一般有如下3種(可能不限於此):
1、開啟Ad HocDistributed Queries服務:
開啟方式如下:
--開啟AdHoc Distributed Queries:
sp_configure 'show advanced options',1;
RECONFIGURE;
sp_configure 'Ad Hoc Distributed Queries',1;
RECONFIGURE;
2、Microsoft.Jet.OLEDB.4.0引擎設置阻止了導入和導出:
設置方式如下(以SQL Server 2008為例):
SQL Server Management Studio à伺服器對象à鏈接伺服器à訪問介面àMicrosoft.Jet.OLEDB.4.0à右鍵屬性à訪問介面選項:全都不選
3、SQL Server(MSSQLSERVER)和SQL Full-FilterDeamon Launcher 服務的登錄身份設置錯誤:
設置方式如下:
打開SQLServer Configuration Management,將SQL Server(MSSQLSERVER)和SQL Full-text Filter Daemon Launcher(MSSQLSERVER)兩個服務的登錄身份改為LocalSystem。
4、確保要導入的數據格式正確
5、確保在導入數據時,Excel表或者其他資料庫表沒有被其他軟體打開
6、確定你的Office版本,選擇合適的SQL語句進行導入(具體語句後面會提到)
二、導入數據並新增表
1、Excel表為xls格式
SELECT * INTO NewXls FROMOPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel5.0;HDR=YES;DATABASE=G:\示例\XLS格式.xls',sheet1$)
2、Excel表為xlsx格式
SELECT * INTO NewXlsx FROM
OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0','DataSource=G:\示例\XLSX格式.xlsx;Extended Properties=Excel 12.0')...[sheet1$]
三、導入完成後,關閉Ad HocDistributed Queries
導入數據完成後,記得要關閉Ad Hoc Distributed Queries,因為這是一個安全隱患。關閉方法如下:
--使用完成後,關閉AdHoc Distributed Queries:
sp_configure 'Ad Hoc Distributed Queries',0;
RECONFIGURE;
sp_configure 'show advanced options',0;
RECONFIGURE;

I. 如何把sql的數據表導入到excel中

一、在EXCEL中
新建一列,如把列名定為ab,下面放你的數據,比如1,2,3……
二、打開SQL
企業管理器

右擊
你所需要導入的資料庫,選擇導入數據,下一步,數據源選擇Microsoft
Eccel
97-2000,選擇excel文件繼續下一步,往下按,選擇Sheet1$或者2,3
看你把數據放在那一頁,點轉換可以根據你自己需要設置一些欄位屬性,目的里改一下表的名字(如果是要往已存在的表裡插數據,應該要選擇往目的表中追加數據,但
欄位名
應該要一樣,如果是添加新建表,選擇創建目的表),新建表的話,表名自己隨便寫什麼好了,容易記就好。設置完了就點下一步就導入了。當然可以先預覽一下。
如果不熟悉,建議還是添加新建表吧,再用insert語句把導入的數據插入到你所需要插入的表裡。

熱點內容
Qt用ftp傳文件 發布:2025-01-22 19:23:28 瀏覽:731
校園卡密碼是什麼 發布:2025-01-22 19:14:43 瀏覽:658
內存大小的存儲 發布:2025-01-22 18:58:17 瀏覽:393
tampermonkey腳本 發布:2025-01-22 18:53:17 瀏覽:117
windows7共享文件夾 發布:2025-01-22 18:53:17 瀏覽:479
如何調節安卓手機的內存 發布:2025-01-22 18:49:30 瀏覽:639
佳能相機存儲卡怎麼取消 發布:2025-01-22 18:40:59 瀏覽:569
天貓寶貝上傳 發布:2025-01-22 18:35:09 瀏覽:545
ipad如何登錄金鏟鏟安卓賬號 發布:2025-01-22 18:32:09 瀏覽:320
加密溝通 發布:2025-01-22 18:31:22 瀏覽:556