ÀÌ Å¬·¡½º´Â ¼¹ö°£¿¡ ´ë·®À¸·Î µ¥ÀÌÅ͸¦ º¹»çÇÒ ¶§ »ç¿ëÇÑ´Ù. SQL ¼¹ö¿¡ Æ÷ÇԵǾî ÀÖ´Â bcp ¹úÅ© ¸í·É°ú À¯»çÇÑ µ¿ÀÛÀ» ¼öÇàÇÑ´Ù. º¹»ç¸¦ ¹Þ´Â ÂÊÀº SQL ¼¹ö¿©¾ß ÇÏÁö¸¸ ÁÖ´Â ÂÊÀº ¿À¶óŬÀ̳ª MariaDB µîÀÇ ´Ù¸¥ DBMS¿©µµ »ó°ü ¾ø´Ù. ADO¸¦ ÅëÇØ µ¥ÀÌÅ͸¦ ÀÐÀ» ¼ö¸¸ ÀÖÀ¸¸é ¾î¶² DBMS¿¡¼³ª µ¥ÀÌÅ͸¦ °¡Á®¿Ã ¼ö ÀÖ´Ù.
³»ºÎÀûÀÎ µ¿ÀÛ ¹æ¹ýÀº ´ë´ÜÈ÷ º¹ÀâÇϰÚÁö¸¸ »ç¿ëÇÏ´Â ¹æ¹ýÀº °£´ÜÇÏ´Ù. ÀýÂ÷´ë·Î¸¸ Äڵ带 ÀÛ¼ºÇÏ¸é µÈ´Ù. »ý¼ºÀÚ·Î ÀÌ¹Ì ¿·ÁÁø ¿¬°á °´Ã¼¸¦ Àü´ÞÇϰųª ¾Æ´Ï¸é ¿¬°á ¹®ÀÚ¿À» Àü´ÞÇÑ´Ù. ¿É¼Ç°ú Æ®·£Àè¼Ç °´Ã¼µµ Àü´ÞÇÒ ¼ö ÀÖ´Ù.
SqlBulkCopy (SqlConnection connection);
SqlBulkCopy (string connectionString, [SqlBulkCopyOptions copyOptions]);
SqlBulkCopy(SqlConnection connection, SqlBulkCopyOptions copyOptions, SqlTransaction externalTransaction);
»ý¼ºÀÚ·Î Àü´ÞÇÏ´Â ¿¬°áÀº Ãâ·Â¿ëÀ̸ç ÀÌ ¿¬°á·Î µ¥ÀÌÅ͸¦ ³» º¸³½´Ù. ÁÖ¿ä ¼Ó¼ºÀº ´ÙÀ½°ú °°´Ù.
| ÇÁ·ÎÆÛƼ |
ŸÀÔ |
¼³¸í |
| DestinationTableName |
string |
¸ñÀûÁöÀÇ Å×À̺í À̸§ÀÌ´Ù. µðÆúÆ®´Â nullÀ̸ç ÀÌ °ªÀÌ ¾øÀ¸¸é ¿¹¿Ü°¡ ¹ß»ýÇϹǷΠ¹Ýµå½Ã ÁöÁ¤ÇØ¾ß ÇÑ´Ù. |
| BatchSize |
int |
Çѹø¿¡ º¹»çÇÒ ·¹ÄÚµå °³¼ö¸¦ ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â 0ÀÌ¸ç ¸ðµç ·¹Äڵ带 Àϰý º¹»çÇÑ´Ù. |
| BulkCopyTimeout |
int |
Á¦ÇÑ ½Ã°£À» ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â 30ÃÊÀ̸ç 0À¸·Î ÁöÁ¤Çϸé Á¦ÇÑ ½Ã°£À» µÎÁö ¾Ê´Â´Ù. Á¦ÇÑ ½Ã°£ ³»·Î ó¸®ÇÏÁö ¾ÊÀ¸¸é Æ®·£Àè¼ÇÀÌ ·Ñ¹éµÈ´Ù. |
| ColumnMappings |
SqlBulkCopyColumn
MappingCollection |
¿ ¸ÊÇÎÀ» ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â ºó Ä÷º¼ÇÀÌ´Ù. ¿øº»°ú ´ë»óÀÇ Å×ÀÌºí ±¸Á¶°¡ °°´Ù¸é ¸ÊÇÎÇÒ ÇÊ¿ä ¾ø´Ù. ¿ÀÇ °³¼ö³ª ¼ø¼°¡ ´Ù¸£¸é º¹»çÇÒ ¿À» ¸ÊÇÎÇÑ´Ù. |
| EnableStreaming |
bool |
½ºÆ®¸®¹Ö ¿©ºÎ¸¦ ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â falseÀÌ´Ù. true·Î º¯°æÇÏ¸é ¸Þ¸ð¸® »ç¿ë·®ÀÌ ÁÙ¾îµç´Ù. |
| |
|
|
| NotifyAfter |
int |
ÀÌ ¼Ó¼º¸¸ÅÀÇ ·¹Äڵ带 º¹»çÇÑ ÈÄ ¾Ë¸² À̺¥Æ®¸¦ »ý¼ºÇÑ´Ù. µðÆúÆ®´Â 0ÀÌ´Ù. |
DestinationTableName ¼Ó¼ºÀº ¹Ýµå½Ã ÁöÁ¤ÇØ¾ß ÇÏ¸ç ¶ÇÇÑ ÀÌ Å×À̺íÀº ¹Ì¸® »ý¼ºµÇ¾î ÀÖ¾î¾ß ÇÑ´Ù. ¸ñÀûÁöÀÇ ¿¬°á°ú Å×À̺í¸íÀ» ¼³Á¤ÇÑ ÈÄ ´ÙÀ½ ¸Þ¼µå·Î º¹»ç¸¦ ¼öÇàÇÑ´Ù.
WriteToServer(IDataReader)
WriteToServer(DataTable)
WriteToServer(DataRow[])
Àμö´Â º¹»çÇÒ ¿øº»ÀÌ´Ù. ¸®´õ, Å×ÀÌºí ¶Ç´Â Çà ¹è¿À» Àü´ÞÇϸé ÁöÁ¤ÇÑ ¼¹ö·Î ·¹Äڵ带 º¹»çÇÑ´Ù. ´ë·« º¹»ç¸¦ Çϱâ Àü¿¡ ¿øº» ¿¬°áÀ» ¹Ì¸® ¿¾î ³õ°í Å×À̺íÀ» ÁغñÇØ µÎ¾î¾ß ÇÑ´Ù. ºñµ¿±âÀûÀ¸·Î º¹»çÇÒ ¶§´Â WriteToServerAsync ¸Þ¼µå¸¦ »ç¿ëÇÑ´Ù.
´ÙÀ½ ¿¹Á¦´Â tblPeople Å×À̺íÀ» tblPeople2 Å×À̺í·Î º¹»çÇÑ´Ù. ¿øº» µ¥ÀÌÅͺ£À̽º¿¡ tblPeople Å×À̺íÀÌ ÀÖ¾î¾ß ÇÏ¸ç ¸ñÀûÁö¿¡µµ tblPeople2 Å×À̺íÀÌ Á¸ÀçÇØ¾ß ÇÑ´Ù. ¼¹ö°¡ ´Ù¸£´Ù¸é Å×À̺í À̸§Àº °°¾Æµµ »ó°ü ¾ø´Ù.
using System;
using System.Data.SqlClient;
class CSTest {
static void Main()
{
String constr = "Server=(local);database=ADOTest;Integrated Security=true";
SqlConnection Src = new SqlConnection(constr);
Src.Open();
SqlCommand Com = new SqlCommand("SELECT * FROM tblPeople", Src);
SqlDataReader R = Com.ExecuteReader();
SqlBulkCopy bulkCopy = new SqlBulkCopy(constr);
bulkCopy.DestinationTableName = "tblPeople2";
bulkCopy.WriteToServer(R);
R.Close();
bulkCopy.Close();
}
}
¿øº» ¿¬°áÀ» ¿°í ¸ðµç ·¹Äڵ带 ´Ù Àоî¿À´Â ¸í·ÉÀ» ½ÇÇàÇÏ¿© ¸®´õ °´Ã¼¸¦ »ý¼ºÇØ µÎ¾ú´Ù. ÀÌ ¸®´õ°¡ º¹»çÇÒ ¿øº» µ¥ÀÌÅÍÀ̸ç ÀÌÈÄ ÀÌ ¸®´õ¸¦ ÅëÇØ ¿øº» Å×À̺íÀÇ ·¹Äڵ带 ´ë·«À¸·Î ÀÐ¾î µéÀδÙ.
°°Àº ¼¹ö¿¡ ´ëÇØ bulkCopy °´Ã¼¸¦ »ý¼ºÇϰí tblePeople2 Å×À̺íÀ» ¸ñÀûÁö·Î ¼³Á¤ÇÑ ÈÄ ¸®´õ °´Ã¼¸¦ Àμö·Î Àü´ÞÇÏ¿© WriteToServer ¸Þ¼µå¸¦ È£ÃâÇÑ´Ù. ³»ºÎ¿¡¼ ¸®´õ¸¦ ÅëÇØ ÀÐÀº ·¹Äڵ带 ¸ñÀûÁö Å×ÀÌºí¿¡ Çϳª¾¿ »ðÀÔÇÑ´Ù.
¿¹Á¦ ½ÇÇàÀ» À§ÇØ µÎ °³ÀÇ ¼¹ö¸¦ ÁغñÇÒ ¼ö ¾ø¾î ÆíÀÇ»ó °°Àº ¼¹ö¿¡¼ º¹»çÇߴµ¥ ÀÌ·± ¿ëµµ¶ó¸é »ç½Ç INSERT SELECT Äõ¸®¹®ÀÌ ÈξÀ ´õ °£ÆíÇÏ´Ù. µû¶ó¼ SqlBulkCopy Ŭ·¡½º¸¦ °°Àº ¼¹ö ³»¿¡¼ ¾µ ÀÌÀ¯´Â ¾øÀ¸¸ç ÁÖ·Î ¼¹ö°£ÀÇ µ¥ÀÌÅÍ º¹»ç¿¡ »ç¿ëÇÑ´Ù.
SqlBulkCopyOptions´Â ´ë·® º¹»ç ¿É¼ÇÀ» ÁöÁ¤ÇÑ´Ù. ¿°ÅÇüÀÌµÇ ºñÆ® Ç÷¡±×·Î Á¤ÀǵǾî ÀÖ¾î ¿©·¯ °³ÀÇ ¿É¼ÇÀ» ÇÔ²² ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.
| ¿É¼Ç |
°ª |
¼³¸í |
| Default |
0 |
¾Æ¹« ¿É¼Çµµ ÁöÁ¤ÇÏÁö ¾Ê´Â´Ù. |
| KeepIdentity |
1 |
¿øº» ID°ªÀ» À¯ÁöÇÑ´Ù. ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ¸ñÀûÁöÀÇ ID¸¦ »ç¿ëÇÑ´Ù. |
| CheckConstraints |
2 |
º¹»ç½Ã Á¦¾àÀ» È®ÀÎÇÑ´Ù. |
| TableLock |
4 |
º¹»çÁß¿¡ ´ë·® ¾÷µ¥ÀÌÆ® ¶ôÀ» °Ç´Ù. ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é Çà Àá±ÝÀ» »ç¿ëÇÑ´Ù. |
| KeepNulls |
8 |
¸ñÀû Å×À̺íÀÇ NULL°ªÀ» À¯ÁöÇÑ´Ù. ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é NULL ´ë½Å ±âº»°ªÀ» »ç¿ëÇÑ´Ù. |
| FireTriggers |
16 |
»ðÀÔÇÏ´Â Çà¿¡ ´ëÇØ Æ®¸®°Å¸¦ ¹ß»ý½ÃŲ´Ù. |
| UseInternalTransaction |
32 |
º¹»ç ÀÛ¾÷À» ³»ºÎÀûÀÎ Æ®·£Àè¼Ç¿¡¼ ½ÇÇàÇÑ´Ù. ¿ÜºÎ Æ®·£Àè¼Ç°ú ÇÔ²² »ç¿ëÇØ¼´Â ¾ÈµÈ´Ù. |
| AllowEncryptedValueModifications |
64 |
¾ÏÈ£ÈµÈ µ¥ÀÌÅ͸¦ ÇØµ¶ÇÏÁö ¾Ê°í º¹»çÇÑ´Ù. ¾çÂÊ ¼¹öÀÇ ¾ÏÈ£È ¹æ½ÄÀÌ ´Ù¸£¸é º¹»çÇÑ µ¥ÀÌÅ͸¦ ¾µ ¼ö ¾ø´Ù. |
µðÆúÆ® ¿É¼ÇÀº Á¦¾àÀ̳ª ±âº»°ª, Æ®¸®°Å µîÀ» ¸ðµÎ ¹«½ÃÇϵµ·Ï µÇ¾î ÀÖ¾î °¡±ÞÀû ºü¸¥ ¼Óµµ·Î º¹»çÇÏ´Â °ÍÀ¸·Î µÇ¾î ÀÖ´Ù. ¼Óµµ¸¦ Èñ»ýÇÏ´õ¶óµµ ²À ÇÊ¿äÇÑ ¿É¼ÇÀÌ ÀÖÀ¸¸é ¿øÇÏ´Â ¿É¼ÇÀ» ÄÒ ÈÄ »ç¿ëÇÑ´Ù.

°³¹ßÀÚÀÇ Ãµ±¹ SoEn |
|