PDA

View Full Version : Export dữ liệu MS SQL ra file *.sql



trongthao
12-10-2007, 22:43
Chào quý vị,
Bạn nào biết cách export toàn bộ dữ liệu của một bảng dữ liệu nào đó ra 1 file *.sql không, chỉ giúp mình với??? - Cụ thể là từ Enterprise Manager, làm thế nào để export dữ liệu từ bảng ra file *.sql.
Xin cảm ơn nhiều!

saigon1990
13-10-2007, 07:06
nói rõ hơn chút đi bạn. dùng wizard or t-sql?
Trừ khi là dữ liệu trong bảng của bạn là nhưng câu lệnh sql, chứ tôi cũng không hiểu tại sao bạn lại muốn export ra file .sql.
cám ơn
tn

trongthao
13-10-2007, 10:28
Vì khi export fa file *.sql thì triển khai thuận tiện hơn.
Dữ liệu là những bản ghi - tức là export data ra file dưới dạng cậu
lệnh Insert tblCustommer(','''')....

vi dụ:
MKH, Username, Password, Addresss....

1002 tendangnhap h32323gg32kjf7fđ 27 Le Ngoc Han, HBT, HN

ntdvn
13-10-2007, 11:21
Hình như là không được bạn ơi. Không biết có ai biết không ta. Xin chỉ với, tui cũng muốn biết.

snowmoon
13-10-2007, 15:35
Để tạo code script t- sql thành file *.sql có 1 cách trong Enterprise Manager : Ví dụ bạn muốn tạo script t-sql của bảng Order. Bạn right-click , chọn All tasks, rồi chọn Generate SQL script , tiếp đó các bạn chọn tiếp , cũng khá đơn giản . Chúc các bạn thành công!

thangvq
16-10-2007, 09:18
Cách tôi thường làm là query tất cả các dòng, các cột. Copy kết quả rồi paste vào Excel, rồi tạo câu lệnh insert.

trongthao
17-10-2007, 08:01
- Theo như bạn snowmoon nói thì trong Enterprise Manager chỉ tạo được Action SQL thôi (create table, create view, create pro...).
- Như bạn tangvq thì như thế cũng rất phức tạp. Bạn có thể nói cụ thể hơn không? Excel có hỗ trợ gì trong MS SQL không? Hay khi copy xong ta phải sử dụng các hàm trong excel để tạo câu lệnh insert?

thangvq
17-10-2007, 13:53
Trong việc này Excel chẳng liên quan gì đến MS SQL Server. Giả sử bạn có bảng TableA (column1 integer, column2 nvarchar(40)). Bạn viết câu lệnh SELECT * FROM TableA; copy kết quả và paste vào Excel giả sử bắt đầu từ ô A1. Bạn cần viết biểu thức vào ô C1 như sau:
="INSERT INTO TableA VALUES ("&A1&", "&"N'"&B1&"')"

Xong rồi bạn fill down cho tất cả các dòng là xong.

dotnetvn
18-10-2007, 20:21
Có một cách làm trực tiếp trong Query Analyzer(QA) như sau:

Giả sử table của bạn có cầu trúc tableA(col1, col2, col3). Bạn xây dựong câu lệnh sau trong QA:

Select 'INSERT INTO tableA VALUES(' + col1 + ',' + col2 + ',' + col3 + ')' FROM tableA

Nhấn F5 để chạy câu lệnh trên sau đó copy result ra file text và lưu lại với tên có đuôi .sql.

Chú ý: Nếu các column không phải kiểu text bạn cần cùng cast hoặc convert để chuyển kiểu dữ liệu sang text.

Enterprise Manager chỉ cho phép sinh ra file script chứa các câu lệnh tạo object chứ không sinh được các lệnh insert dữ liệu.

Có một số tool ngoài cho phép làm công việc đó. Lúc khác tôi sẽ post link để tham khảo.

trongthao
21-10-2007, 19:05
Cảm ơn quý vị đã nhiệt tình hướng dẫn, nếu có mẹo nào hay hơn, mong được quý vị mách bảo.

----------------------------------
Một cây làm chẳng lên non
B cây chụm lại lên hòn núi cao

sephiroth2m
23-10-2007, 12:58
Bạn có thể dùng SQL server Import & Export wizard. Right click lên CSDL, chọn Task / Export Data. Mục source chọn tên CSDL của bạn, destination bạn chọn Flat File Destination.