Easy import and export between SQL Server, access, and Excel Data Tables

Source: Internet
Author: User
Tags mdb database sql server books
In SQL Server 2000/2005, in addition to using DTS for data import and export, you can also use a Transact-SQL statement to import and export data. In a Transact-SQL statement, we mainly use the OpenDataSource function and OpenRowset function. For more information about functions, see SQL online help. You can easily convert SQL Server, access, and Excel data by using the following methods:

I. Import and export data from SQL Server and access

General data import and export:

Use the DTS wizard to migrate your access data to SQL Server. You can use these steps:

1. On the Tools menu in SQL Server Enterprise Manager, select data transformation

2 services, and then select czdimport data (import data ).

3. In the choose a data source dialog box, select Microsoft Access as the source, and then type your. mdb database (. MDB File Extension) or browse to find the file.

4. In the choose a destination (select target) dialog box, select Microsoft ole db prov ider for SQL Server, select database server, and click the required authentication method.

5. In the specify table copy or query dialog box, click Copy tables ).

6. In the select Source tables dialog box, click Select All ). Next, complete.

Use a Transact-SQL statement to import and export data:

1. query access data in SQL Server:

Select *

From OpenDataSource ('Microsoft. Jet. oledb.4.0 ',

'Data source = "C: \ dB. mdb"; user id = admin; Password = ')... table name

2. Import access to SQL Server

Run in SQL Server:

Select *

Into newtable

From OpenDataSource ('Microsoft. Jet. oledb.4.0 ',

'Data source = "C: \ dB. mdb"; user id = admin; Password = ')... table name

3. insert data in the SQL Server table to the Access Table

Run in SQL Server:

Insert into OpenDataSource ('Microsoft. Jet. oledb.4.0 ',

'Data source = "C: \ dB. mdb"; user id = admin; Password = ')... table name

(Column name 1, column name 2)

Select column name 1, column name 2 from SQL table

Instance:

Insert into OpenRowSet ('Microsoft. Jet. oledb.4.0 ',

'C: \ dB. mdb '; 'admin'; '', test)

Select ID, name from test

 

Insert into OpenRowSet ('Microsoft. Jet. oledb.4.0 ', 'c: \ trade. mdb'; 'admin'; '', table name)

Select *

From sqltablename

Ii. Import and export data from SQL Server and Excel

1. query Excel Data in SQL Server:

Select *

From OpenDataSource ('Microsoft. Jet. oledb.4.0 ',

'Data source = "C: \ book1.xls"; user id = admin; Password =; extended properties = Excel 5.0 ')... [sheet1 $]

The following is an example of a query. It queries an Excel spreadsheet through the ole db provider for jet.

Select *
From OpenDataSource ('Microsoft. Jet. oledb.4.0 ',
'Data source = "C: \ finance \ account.xls"; user id = admin; Password =; extended properties = Excel 5.0 ')... xactions

2. Import Excel Data to SQL Server:

Select * into newtable

From OpenDataSource ('Microsoft. Jet. oledb.4.0 ',

'Data source = "C: \ book1.xls"; user id = admin; Password =; extended properties = Excel 5.0 ')... [sheet1 $]

Instance:

Select * into newtable

From OpenDataSource ('Microsoft. Jet. oledb.4.0 ',

'Data source = "C: \ finance \ account.xls"; user id = admin; Password =; extended properties = Excel 5.0 ')... xactions

3. Export the data queried in SQL Server into an Excel file

T-SQL code:

Exec master.. xp_mongoshell 'bcp database name. DBO. Table name out c: \ temp.xls-C-Q-s "servername"-U "sa"-P ""'

Parameter: s indicates the SQL server name, u indicates the user, and P indicates the password.

Note: You can also export text files and other formats.

Instance: exec master .. xp_mongoshell 'bcp saletesttmp. DBO. cusaccount out c: \ temp1.xls-C-Q-s "pmserver"-U "sa"-P "sa "'

Exec master .. xp_mongoshell 'bcp "select au_fname, au_lname from pubs .. authors order by au_lname" queryout c: \ authors.xls-C-sservername-USA-ppassword'

Use ADO to export the Excel file code in VB6:

Dim cn as new ADODB. Connection

CN. Open "driver = {SQL Server}; server = websvr; database = webmis; uid = sa; WD = 123 ;"

Cn.exe cute "master .. xp_mongoshell 'bcp" select col1, col2 from database name. DBO. Table Name "queryout E: \ dt.xls-C-sservername-USA-ppassword '"

4. insert data to excel in SQL Server:

Insert into OpenDataSource ('Microsoft. Jet. oledb.4.0 ',

'Data source = "C: \ temp.xls"; user id = admin; Password =; extended properties = Excel 5.0 ')... table1 (A1, A2, A3) values (1, 2, 3)

T-SQL code:

Insert

OpenDataSource ('Microsoft. Jet. oledb.4.0 ',

'Extended properties = Excel 8.0; Data Source = c: \ training \ inventur.xls ')... [filiale1 $]

(Bestand, Produkt) values (20, 'test ')

Note: If a problem occurs when you query an Excel file in SQL Server:
Select * From OpenRowSet ('Microsoft. Jet. oledb.4.0 ', 'excel 8.0; IMEX = 1; HDR = yes; database = D: \ a.xls', [sheet1 $])
Result prompt:
SQL Server blocks access to the statement 'openrowset/OpenDataSource 'of the 'ad hoc distributed queries' component because this component has been disabled as part of the server's security configuration. The system administrator can enable 'ad hoc distributed queries 'by using sp_configure '. For more information about enabling 'ad hoc distributed querys', see "peripheral application configurator" in SQL Server books online ".
You can use the following solutions by enabling ad hoc distributed queries:

Enable ad hoc distributed queries:
Exec sp_configure 'show advanced options', 1
Reconfigure
Exec sp_configure 'ad hoc distributed queries ', 1
Reconfigure
After use, disable ad hoc distributed queries:
Exec sp_configure 'ad hoc distributed queries ', 0
Reconfigure
Exec sp_configure 'show advanced options', 0
Reconfigure

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.