欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

To import data from excel to DB

程序员文章站 2024-02-15 10:33:58
...

Here,I introducesome methods to import data from excel to DB, 1 By OPENDATASOURCE SELECT * FROM OPENDATASOURCE ( 'Microsoft.Jet.OLEDB.4.0' , 'Excel 8.0;DataBase=D:/TEST.xls' )...[sheet1$] Note: Sometimes, error message will occor when exec

Here,I introduce some methods to import data from excel to DB,

1 By OPENDATASOURCE

SELECT
* FROM OPENDATASOURCE(
'Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;DataBase=D:/TEST.xls')...[sheet1$]

Note: Sometimes, error message will occor when executing above script like this:
Msg 15281, Level 16, State 1, Line 1
SQL Server blocked access to STATEMENT 'OpenRowset/OpenDatasource' of component 'Ad Hoc Distributed Queries' because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of 'Ad Hoc Distributed Queries' by using sp_configure. For more information about enabling 'Ad Hoc Distributed Queries', see "Surface Area Configuration" in SQL Server Books Online.

The solution issetting Ad Hoc Distributed Queries to 1,you can refer to my post: http://www.cnblogs.com/Burgess/archive/2008/09/24/1298195.html


2 By Linked server

EXEC sp_addlinkedserver --add linked server
@server = N'MyExcel',
@srvproduct = N'Jet 4.0',
@provider = N'Microsoft.Jet.OLEDB.4.0',
@datasrc = N'd:/TEST.xls',
@provstr = N'Excel 8.0'
GO

Note:You can also add linked server by below method:

To import data from excel to DB

exec sp_addlinkedsrvlogin 'MyExcel','false' --login without account (Optional)
go

select * from MyExcel...sheet1$ --query data
go

3 By VBA

To import data from excel to DBTo import data from excel to DBCode
1To import data from excel to DBTo import data from excel to DBPrivate Sub cmdInsert_Click()Sub cmdInsert_Click()
2To import data from excel to DB
3To import data from excel to DBDim LinCnt As Integer
4To import data from excel to DB LinCnt = 6
5To import data from excel to DBIf InputBox("Please input password1", "口令输入框", , 8700, 4700) = "password" Then
6To import data from excel to DB Rows("6:6").Select
7To import data from excel to DB Rows("6:65536").Select
8To import data from excel to DB Range("A6").Select
9To import data from excel to DB
10To import data from excel to DB Connection.Open " Provider=SQLOLEDB.1;Persist Security Info=True;User ID=User_id;Password=PWD; Initial Catalog=DB_name;Data Source=Server_ip;Connect Timeout=60 "
11To import data from excel to DB Connection.CursorLocation = adUseClient
12To import data from excel to DB CMD.ActiveConnection = Connection
13To import data from excel to DB
14To import data from excel to DBDo While Cells(LinCnt, "C") ""
15To import data from excel to DBIf txtSoldto.Text = "" And txtQcimat.Text = "" And Cells(LinCnt, "G") = "" Then
16To import data from excel to DBMsgBox "Please maintain To import data from excel to DB"
17To import data from excel to DBExit Sub
18To import data from excel to DBElse
19To import data from excel to DB SQLstmt = " insert into table_name values('" & VBA.Trim(txt1.Text) & "','" & VBA.Trim(txt2.Text) & "','" & Cells(LinCnt, "C") & "','" & Cells(LinCnt, "D") & "','" & Cells(LinCnt, "E") & "','" & Cells(LinCnt, "F") & "','" & Cells(LinCnt, "G") & "','" & Cells(LinCnt, "H") & "','" & Cells(LinCnt, "I") & "','" & Cells(LinCnt, "J") & "') "
20To import data from excel to DB CMD.CommandText = SQLstmt
21To import data from excel to DB CMD.Execute
22To import data from excel to DB LinCnt = LinCnt + 1
23To import data from excel to DBEnd If
24To import data from excel to DBLoop
25To import data from excel to DB Connection.Close
26To import data from excel to DBExit Sub
27To import data from excel to DBElse
28To import data from excel to DBMsgBox "You have no right to insert!"
29To import data from excel to DBExit Sub
30To import data from excel to DBEnd If
31To import data from excel to DBEnd Sub