|
|
|
| Trang chủ .NET Việt Nam
>
Bài viết
>
Theo chủ đề
>
CSDL & ADO.NET | Import text data to Sql Server | | Internet or Some Document |
12:29' AM - Thứ sáu, 09/05/2008 | | Một cách rát hay để bạn có thể Import data vào 1 table trong DB của SQL Server từ một file text với định dạng giá trị theo field terminator: ‘,’,'\t’,'\n’,… Thông thường bạn hay dùng Code programing language như C#, VB, … để giải quyết nhưng với lượng dữ liệu lớn và cấu hình máy không phải mạnh bạn sẽ nhìn thấy rõ impact của việc dùng nó đến performance thế nào ngay. Vì vậy tốt nhất bạn sẽ dùng cách import data bằng ngay t-sql sẽ có performance cao hơn và dễ dàng customize hơn. Ví dụ sau sẽ cho bạn thấy điều này nhé :D
1. Bạn phải có 1 table để chứa dữ liệu import theo cấu trúc mong muốn.
USE DataCentral; GO CREATE TABLE Portfolio ( Col1 smallint, Col2 nvarchar(50), Col3 nvarchar(50), Col4 nvarchar(50) );
GO
2. Tạo dữ liệu mẫu cho bạn trong file text. Chú ý field format dùng ký tự , or tab
10,Field2,Field3,Field4 15,Field2,Field3,Field4 46,Field2,Field3,Field4 58,Field2,Field3,Field4
3. Tạo format file của các field ứng với của table theo định dạng xml. Chú ý: bạn sẽ tạo file xml này bằng bcp để generate theo câu lệnh sau (trong Windows command prompt): bcp DataCentral..Portfolio in C:\myPortfolioFile-c.Dat -f C:\myPortfolioFile.Xml -T
<?xml version="1.0"?> <BCPFORMAT xmlns=http://schemas.microsoft.com/sqlserver/2004/bulkload/formatxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <RECORD> <FIELD ID="1" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="7"/> <FIELD ID="2" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/> <FIELD ID="3" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/> <FIELD ID="4" xsi:type="CharTerm" TERMINATOR="\r\n" MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/> </RECORD> <ROW> <COLUMN SOURCE="1" NAME="Col1" xsi:type="SQLSMALLINT"/> <COLUMN SOURCE="2" NAME="Col2" xsi:type="SQLNVARCHAR"/> <COLUMN SOURCE="3" NAME="Col3" xsi:type="SQLNVARCHAR"/> <COLUMN SOURCE="4" NAME="Col4" xsi:type="SQLNVARCHAR"/> </ROW> </BCPFORMAT>
4. Tạo SP or Function để viết lệnh sau cho import. USE DataCentral; DELETE Portfolio; -- only delete row. GO INSERT INTO Portfolio SELECT * FROM OPENROWSET(BULK 'C:\myPortfolioFile-c.Dat',FORMATFILE='C:\myPortfolioFile.Xml') as p1 ; GO SELECT * FROM Portfolio; GO
Như vậy bạn đã import xong dư liệu từ 1 file text vào DB nhanh chóng hơn nhiều đấy. Chú ý: Nếu muốn động hơn bạn hãy xem xét kỹ hơn sẽ thấy ta nên improve đoạn code trên ở điểm nào để bạn có thể dùng nhé.Theo
Internet or Some Document Số lượt đọc:
398
-
Cập nhật lần cuối:
09/05/2008 12:29:31 AM | Hướng dẫn cài đặt Sql server 2005 06/06/2008 04:32' PM Hướng dẫn cài đặt bằng hình ảnh, version dành cho developer
Bài đã đăng: Những điểm mới trong SQL 200808/05/2008 11:49' PMSQL
Server 2008 sẽ được phát hành vào khoảng tháng 2 năm 2008, cùng với
phiên bản mới của Visual Studio và Windows. CTP (Community Technology
Preview) của SQL 2008 hiện đã được cung cấp trên internet và bạn có thể
download được từ URL của Microsoft. Trong bài này chúng tôi sẽ nhấn mạnh một số tính năng mới và các lợi ích mang lại của SQL Server 2008. Configuring SQL Server Express 2005 05/05/2008 02:55' PM Are you getting errors connecting to SQL Server Express 2005 via remote client software and yet
have no problem connecting to it on the local machine? Những đặc điểm mới của ADO.NET 2.0 03/04/2008 12:04' AM Để
có thể làm giảm bớt những hạn chế về thể hiện của các phiên bản ADO.NET
trước đây và tăng tính mềm dẻo, Microsoft đã giới thiệu những đặc điểm
mới nhất trong ADO.NET 2.0 – Những đặc điểm mà có những sự khác biệt rõ
ràng so với phiên bản ADO.NET 1.1.
Giới thiệu cơ bản về SQL 02/04/2008 12:36' AM SQL
là gì? SQL Server 2000 là một hệ thống quản lý cơ sở dữ liệu
(Relational Database Management System (RDBMS) ) sử dụng Transact-SQL
để trao đổi dữ liệu giữa Client computer và SQL Server computer. Một
RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản
lý dữ liệu và các bộ phận khác nhau trong RDBMS.
Các hàm Ranking mới trong SQL Server 2005 02/04/2008 12:13' AM Cùng
với SQL Server 2005, Microsoft đã giới thiệu một số tính năng mới và
những tính năng này sẽ giúp cho chuyên viên về DBA hay SQL Server dễ
dàng hơn trong việc viết mã và duy trì cơ sở dữ liệu SQL Server. Bài
này sẽ thảo luận về các hàm ranking mới được cung cấp trong SQL Server
2005.
Using ADO.NET06/03/2007 03:51' PM Một bài viết khá hay dành cho các bạn mới làm quen với .NET Tấn công kiểu SQL Injection và các phòng chống trong ASP.NET 07/05/2005 07:46' PM SQL Injection là một trong những kiểu hack web đang dần trở nên phổ biến hiện nay. Bằng cách inject các mã SQL query/command vào input trước khi chuyển cho ứng dụng web xử lí, bạn có thể login mà không cần username và password, remote execution, dump data và lấy root của SQL server. Công cụ dùng để tấn công là một trình duyệt web bất kì, chẳng hạn như Internet Explorer, Netscape, Lynx, ... Vậy khi lập trình web với ASP.NET, chúng ta cần phòng chống như thế nào?
|
|
|
|