SEARCH :
Since : 2006.05.01    Last Update : 2008.04.06
   µî·ÏµÈ ±â¼úÀÚ·á : 461 °Ç (645,583 ȸ)   |   Áú¹®°ú ´äº¯ : 2,332 °Ç (672,436 ȸ)  |  ÀÚ·á½Ç : 49 °Ç (110,994 ȸ) ÀÚÀ¯°Ô½ÃÆÇ : 111 °Ç   |   ¹æ¸í·Ï : 86 °Ç

 

  ÀÚµ¿ ·Î±×ÀÎ
  
  ±â¼úÀÚ·á
     ¿¬Àç °­Á ¸ðÀ½
     Admin (164)
     T-SQL (28)
     DTS & SSIS (203)
     Analysis Services (12)
     Reporting Services (5)
     Service Broker (4)
     CLR (24)
     SQL ±âŸ (26)
     DMV Board(13)
  Áú¹®°ú ´äº¯
     SQL 2000 (367)
     SQL 2005, 2008 (1643)
     SQL Äõ¸® ¿äû (322)
  ÀÚ·á½Ç
     ¼¼¹Ì³ª ÀÚ·á (10)
     SQL °ü·Ã µµ±¸ (16)
     ½ºÅ©¸³Æ® ÀÚ·á (23)
  °Ô½ÃÆÇ
     °øÁö»çÇ× (39)
     ÀÚÀ¯°Ô½ÃÆÇ (111)
     ¹æ¸í·Ï (86)





 
¡¤ Á¦ ¸ñ    µ¥ÀÌÅ͸¦ SQL Server·Î °¡Á®¿À±â À§ÇÑ ¿©·¯ ¹æ¹ýµé
¡¤ µî·ÏÀÚ    ÇѴ뼺
¡¤ ±ÛÁ¤º¸
   Á¶È¸ : 2953, µî·ÏÀÏ : 2007/04/18 15:40

µ¥ÀÌÅ͸¦ SQL Server·Î °¡Á®¿À±â À§ÇÑ ¿©·¯ ¹æ¹ýµé

 

¿øº» : http://sqlserverblogs.blogspot.com/2007/04/sharing-knowledge-import-and-export.html

 

µ¥ÀÌÅ͸¦ SQL Server·Î ¿Å±â´Â ÀÛ¾÷Àº ´ëºÎºÐÀÇ DBA³ª °³¹ßÀÚ°¡ ÀÏ»óÀûÀ¸·Î Á¢ÇÏ´Â ¾÷¹«ÀÔ´Ï´Ù. °¡Àå ´Ü¼øÇÑ ¹æ¹ýÀ¸·Î °¡Á®¿À±â/³»º¸³»±â ¸¶¹ý»ç¸¦ ÀÌ¿ëÇϰųª SQL 2000ÀÇ DTS³ª SQL 2005ÀÇ SSIS¸¦ ÀÌ¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù. º» ±Û¿¡¼­´Â ÀÌ·¯ÇÑ ¹æ¹ý ¿Ü¿¡ ¼öÇàÇÒ ¼ö ÀÖ´Â ´Ù¾çÇÑ ¹æ¹ýµé¿¡ ´ëÇØ »ìÆì º¸°Ú½À´Ï´Ù.

 

BCP

°¡Àå ³Î¸® »ç¿ëµÇ´Â ¸í·ÉÀÔ´Ï´Ù. BCP ¸í·ÉÀº µ¥ÀÌÅ͸¦ ÀÔ·Â(Import)Çϰųª Ãâ·Â(Export)Çϴµ¥ ¸ðµÎ »ç¿ëÇÒ ¼ö ÀÖÁö¸¸, ÅØ½ºÆ® ÇüÅÂÀÇ µ¥ÀÌÅÍ¿¡ ´ëÇØ¼­¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. À©µµ¿ì ¸í·É ÇÁ·ÒÇÁÆ®¿¡¼­ ¼öÇàÇϸç, SQLÀÇ Äõ¸® ºÐ¼®±â³ª ÀúÀå ÇÁ·Î½ÃÀú¿¡¼­ xp_cmdshell ¸í·ÉÀ» ÀÌ¿ëÇØ¼­ È£ÃâÇϰųª DTS, SSIS ³»¿¡¼­ È£ÃâÇÏ´Â ¹æ½ÄÀ¸·Î ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

´ÙÀ½Àº C:\ImportData.txt¸¦ dbo.ImportTest Å×À̺í·Î ¿Å±â´Â ¿¹ ÀÔ´Ï´Ù.

bcp dbo.ImportTest in 'C:\ImportData.txt' -T -SserverName\instanceName

(BCP ¸í·É¿¡ ´ëÇØ º¸´Ù ÀÚ¼¼ÇÑ °ÍÀ» ¾Ë°í ½ÍÀ¸¸é ´ÙÀ½ ¸µÅ©ÀÇ µµ¿ò¸»À» Âü°íÇϽñ⠹ٶø´Ï´Ù.)

 

 

 

BULK INSERT

BULK INSERT¹®Àº T-SQLÀ» ÀÌ¿ëÇØ¼­ Á÷Á¢ µ¥ÀÌÅ͸¦ SQL ServerÀÇ Å×À̺í·Î ÀúÀåÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â ¸í·ÉÀÔ´Ï´Ù.

´ÙÀ½Àº C:\ImportData.txt µ¥ÀÌÅÍ ÆÄÀÏÀ» dbo.ImportTest Å×À̺í·Î ¿Å±â´Â ¿¹ ÀÔ´Ï´Ù.

BULK INSERT dbo.ImportTest FROM 'C:\ImportData.txt'

WITH ( FIELDTERMINATOR =',', FIRSTROW = 2 )

(BULK INSERT ¸í·É¿¡ ´ëÇØ º¸´Ù ÀÚ¼¼ÇÑ °ÍÀ» ¾Ë°í ½ÍÀ¸¸é ´ÙÀ½ ¸µÅ©ÀÇ µµ¿ò¸»À» Âü°íÇϽñ⠹ٶø´Ï´Ù.)

 

 

OPENROWSET

ÀÌ ¸í·É¾î´Â ´Ù¸¥ µ¥ÀÌÅÍ ¼Ò½º·ÎºÎÅÍ Á÷Á¢ Äõ¸®¸¦ ¼öÇàÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â T-SQL ¸í·ÉÀÔ´Ï´Ù. INSERT INTO ¸í·É°ú °°ÀÌ »ç¿ëÇÔÀ¸·Î½á ¿ÜºÎÀÇ µ¥ÀÌÅ͸¦ SQL ServerÀÇ Å×À̺í·Î ÀúÀåÇÒ ¼ö ÀÖ½À´Ï´Ù.

´ÙÀ½ ¿¹Á¦´Â C:\InportData.xls ¿¢¼¿ ÆÄÀÏÀÇ [Sheet1$] ½ÃÆ®¿¡ ÀÖ´Â µ¥ÀÌÅ͸¦ dbo.ImportTest Å×À̺í·Î ¿Å±â´Â ¿¹ ÀÔ´Ï´Ù.

INSERT INTO dbo.ImportTest

SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',

'Excel 8.0;Database=C:\ImportData.xls', [Sheet1$])

 

[Sheet1$] ½ÃÆ® ¸íÀ» Á÷Á¢ ÁöÁ¤ÇÏ´Â ´ë½Å ´ÙÀ½°ú °°ÀÌ SELECT * FROM ¸í·ÉÀ» ÀÌ¿ëÇØ¼­ µ¥ÀÌÅ͸¦ Àоî¿Àµµ·Ï ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ ¹æ¹ýÀ» ÀÌ¿ëÇÏ¸é µ¥ÀÌÅ͸¦ Àоî¿Ã ¶§ ¿øÇÏ´Â µ¥ÀÌÅ͸¸À» Àоî¿À°Å³ª ¿­À» °¡°øÇؼ­ Àоî¿Ã ¼ö ÀÖ½À´Ï´Ù.

INSERT INTO dbo.ImportTest

SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',

'Excel 8.0;Database=C:\ImportData.xls', 'SELECT * FROM [Sheet1$]')

(ÆíÁýÀÚ ÁÖ : ¿¢¼¿¿¡¼­ µ¥ÀÌÅ͸¦ Àоî¿À´Â SQLÀº ÀÏ¹Ý SQL Server¿¡¼­ »ç¿ëÇÏ´Â SQL¹®°ú ºñ½ÁÇÏÁö¸¸, ÀϺΠ¸í·É¿¡¼­ Â÷À̰¡ ÀÖ½À´Ï´Ù. ´ÙÀ½ ¸µÅ©ÀÇ ±ÛÀ» Âü°íÇϽñ⠹ٶø´Ï´Ù.)

 

(BULK INSERT ¸í·É¿¡ ´ëÇØ º¸´Ù ÀÚ¼¼ÇÑ °ÍÀ» ¾Ë°í ½ÍÀ¸¸é ´ÙÀ½ ¸µÅ©ÀÇ µµ¿ò¸»À» Âü°íÇϽñ⠹ٶø´Ï´Ù.)

 

 

OPENDATASOURCE

OPENROWSET°ú ºñ½ÁÇÑ ¹æ½ÄÀ¸·Î ¼öÇàµÇ¸ç, INSERT INTO ¸í·É°ú °°ÀÌ »ç¿ëÇÔÀ¸·Î½á µ¥ÀÌÅ͸¦ Å×À̺í·Î ÀúÀåÇÒ ¼ö ÀÖ½À´Ï´Ù.

INSERT INTO dbo.ImportTest

SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',

'Data Source=C:\ImportData.xls;Extended Properties=Excel 8.0')...[Sheet1$]

(OPENDATASOURCE ¸í·É¿¡ ´ëÇØ º¸´Ù ÀÚ¼¼ÇÑ °ÍÀ» ¾Ë°í ½ÍÀ¸¸é ´ÙÀ½ ¸µÅ©ÀÇ µµ¿ò¸»À» Âü°íÇϽñ⠹ٶø´Ï´Ù.)

 

 

OPENQUERY

OPENQUERY ¸í·ÉÀ» ÀÌ¿ëÇØ¼­ µ¥ÀÌÅ͸¦ °¡Á®¿À±â À§Çؼ­´Â µÎ ´Ü°è°¡ ÇÊ¿äÇÕ´Ï´Ù. ¿ì¼± ¿¬°áµÈ ¼­¹ö(Linked Server)¸¦ ±¸¼ºÇØ¾ß Çϸç, ±¸¼ºµÈ ¼­¹ö Á¤º¸¸¦ ÀÌ¿ëÇØ¼­ µ¥ÀÌÅ͸¦ Àоî¿Í¾ß ÇÕ´Ï´Ù.

EXEC sp_addlinkedserver 'ImportData',

'Jet 4.0', 'Microsoft.Jet.OLEDB.4.0', 'C:\ImportData.xls', NULL, 'Excel 8.0'

GO

 

INSERT INTO dbo.ImportTest

SELECT * FROM OPENQUERY(ImportData, 'SELECT * FROM [Sheet1$]')

(OPENQUERY ¸í·É¿¡ ´ëÇØ º¸´Ù ÀÚ¼¼ÇÑ °ÍÀ» ¾Ë°í ½ÍÀ¸¸é ´ÙÀ½ ¸µÅ©ÀÇ µµ¿ò¸»À» Âü°íÇϽñ⠹ٶø´Ï´Ù.)

 

 

Linked Server

¿¬°áµÈ ¼­¹ö(Linked Server)¸¦ ÀÌ¿ëÇÏ´Â °Í ¿ª½Ã ¿ÜºÎ µ¥ÀÌÅ͸¦ Àоî¿À´Â ¹æ¹ý Áß ÇϳªÀÔ´Ï´Ù. OPENQUERY ¿¡¼­¿Í °°ÀÌ ¿¬°áµÈ ¼­¹ö¸¦ ±¸¼ºÇÑ ÈÄ, SQL ¹®¿¡¼­ Á÷Á¢ °¡Á®¿À´Â ¹æ½ÄÀÔ´Ï´Ù.

 

EXEC sp_addlinkedserver 'ImportData',

'Jet 4.0', 'Microsoft.Jet.OLEDB.4.0', 'C:\ImportData.xls', NULL, 'Excel 8.0'

GO

 

INSERT INTO dbo.ImportTest

SELECT * FROM ImportData...Sheet1$

(Linked Server ¸í·É¿¡ ´ëÇØ º¸´Ù ÀÚ¼¼ÇÑ °ÍÀ» ¾Ë°í ½ÍÀ¸¸é ´ÙÀ½ ¸µÅ©ÀÇ µµ¿ò¸»À» Âü°íÇϽñ⠹ٶø´Ï´Ù.)

 

 

 

ÇϳªÀÇ µ¥ÀÌÅ͸¦ °¡Á®¿À´Â µ¥¿¡µµ ¿©·¯ ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. ¾î¶² °ÍÀÌ Àý´ëÀûÀ¸·Î °¡Àå ¿ì¼öÇÏ°í ¾î¶² °ÍÀÌ ³ª»Û °ÍÀº ¾ø½À´Ï´Ù. Ç×»ó ³ª»Û °ÍÀ̾úÀ¸¸é ¹öÀüÀÌ 7.0, 2000, 2005·Î ¹ßÀüµÇ¸é¼­ Á¦°ÅµÇ¾úÀ» °ÍÀÔ´Ï´Ù. 

OPENROWSETÀ̳ª OPENDATASOURCE°¡ OPENQUERY¿¡ ºñÇØ ¿¬°áµÈ ¼­¹ö¸¦ ±¸¼ºÇÏ´Â ´Ü°è°¡ ¾ø±â ¶§¹®¿¡ °£´ÜÇÒ ¼ö´Â ÀÖÀ¸³ª °¡Á®¿Ã ÆÄÀϸíÀ̳ª ¾ÏÈ£ µîÀÌ ³ëÃâµÇ¾î¾ß ÇÏ´Â ´ÜÁ¡ÀÌ ÀÖ½À´Ï´Ù. ¸¸¾à Linked Server°¡ ±¸¼ºµÈ °÷À̶ó¸é °£´ÜÈ÷ OPENQUERY³ª Linked Server¸¦ ÀÌ¿ëÇÏ´Â °ÍÀÌ ´õ ÁÁÀ» °ÍÀÔ´Ï´Ù. 

SQL Agent°¡ ¼³Ä¡µÇÁö ¾ÊÀº °÷¿¡¼­ Windows ¿¹¾à ÀÛ¾÷¸¸À¸·Î ¸í·ÉÀ» ¼öÇàÇϱâ À§Çؼ­´Â BCP ¸í·ÉÀ» »ç¿ëÇÏ´Â °ÍÀÌ ÃÖÀûÀÏ °ÍÀÔ´Ï´Ù. 

ÀÌ¿Í °°ÀÌ ´Ù¾çÇÑ »óȲ¿¡ µû¶ó ¼öÇàÇÒ ¼ö ÀÖ´Â ¸í·ÉµéÀÌ Àֱ⠶§¹®¿¡ À§¿¡¼­ ¼³¸íÇÑ ´Ù¾çÇÑ ¹æ¹ýµéÀ» ¹Ì¸® ÀÍÇô ³õÀ» Çʿ䰡 ÀÖÀ» °ÍÀ̶ó »ý°¢µÇ¾î ºí·Î±×ÀÇ ±ÛÀ» °£´ÜÈ÷ ¹ø¿ª, Á¤¸®ÇÏ¿´½À´Ï´Ù.

 

 

 

º» °Ô½ÃÆÇ¿¡ ½Ç¸° ±ÛÀº ´©±¸³ª º¹»çÇϼż­ ÀÌ¿ëÇϼŵµ µÇÁö¸¸, ¹Ýµå½Ã Ãâó(SQLLeader.com) ¹× ¸µÅ©¸¦ ¹àÇôÁÖ¼Å¾ß ÇÕ´Ï´Ù.

 

±è±¤°ï °¨»çÇÕ´Ï´Ù. ¼ö°í¸¹À¸½Ã³×¿ä. 2010/06/14
´ñ±Û µî·ÏÇϱ⠵î·ÏÀÚ :    PASS  
1166  SQL Server¿¡¼­ ±Û·Î¹ú º¯¼ö ±¸ÇöÇϱâ ÇѴ뼺
1050  ÇÁ·Î½ÃÁ® ³»¿¡¼­ sqlÆÄÀÏ ½ÇÇàÇϱâ (1) ÇѴ뼺