½ÇÇà ´ÜÃß Ã³¸®±â Ãß°¡

´ëÈ­ »óÀÚ ¸®¼Ò½º ÆÄÀÏ¿¡¼­ ¸¸µç ½ÇÇà ´ÜÃß¿¡ ´ë ÇÑ Ã³¸®±â ÇÔ¼ö¸¦ Ãß°¡ ÇØ¾ß ÇÕ´Ï´Ù.

½ÇÇà ´ÜÃß Ã³¸®±â¸¦ ¸¸µé·Á¸é

󸮱⸦ ¸¸µé·Á¸é ´ÙÀ½ OLE DB ¼ÒºñÀÚ ÅÛÇø´ Ŭ·¡½º¸¦ »ç¿ë ÇØ¾ß ÇÕ´Ï´Ù.:

ÀÌ·¯ÇÑ °¢ Ŭ·¡½º´Â °ø±ÞÀÚ¿¡¼­ COM °³Ã¼¿¡ ÇØ´ç¡£

¾Æ·¡ Äڵ带 Ãß°¡ ÇÕ´Ï´Ù. ÀÌ Ã³¸®±â Äڵ忡¼­´Â CCommand °³Ã¼ ÅÛÇø´ ¸Å°³ º¯¼ö·Î CProvider Ŭ·¡½º¸¦ °É¸³´Ï´Ù. ÀÌ ¸Å°³ º¯¼ö´Â °ø±ÞÀÚ°¡ µ¥ÀÌÅÍ¿¡ ¾×¼¼½º ÇÏ´Â µ¥ »ç¿ë ÇÏ´Â ¹ÙÀεùÀ» ³ªÅ¸³À´Ï´Ù.

///////////////////////////////////////////////////////////////////////
/ / TestProvDlg.cpp

void CTestProvDlg::OnRun()
{
   CCommandlt;CAccessor <CProvider> > Å×À̺í;
   CDataSource ¿øº»;
   CSession ¼¼¼Ç;

°æ¿ì (¿øº».Open("MyProvider.MyProvider.1", NULL)! = S_OK)
      ¹Ýȯ;

°æ¿ì (¼¼¼Ç.Open(source)! = S_OK)
      ¹Ýȯ;

°æ¿ì (Å×À̺íÀÔ´Ï´Ù.¿ÀÇ (¼¼¼Ç, _T("c:\\public\\testprf2\\gloo.txt"))! = S_OK)
      ¹Ýȯ;

µ¿¾È (Å×À̺íÀÔ´Ï´Ù.MoveNext() = S_OK)
   {
      m_ctlString1.AddString(table.szCommand);
      m_ctlString2.AddString(table.szText);
   }
}

󸮱â´Â °ø±ÞÀÚ¿¡¼­ COM °³Ã¼¸¦ ¼¼ °³¿¡ ÇØ´ç ÇÏ´Â ¾Æ·¡, ¼¼ ¿­ È£Ãâ »ç¿ë ÇÕ´Ï´Ù. °ø±ÞÀÚ¸¦ ProgID¸¦ »ç¿ë ÇÏ ¿© ã½À´Ï´Ù. ½Ã½ºÅÛ ·¹Áö½ºÆ®¸® ¶Ç´Â °ø±ÞÀÚ¿¡¼­ ProgID ¸¦ °¡Á®¿Ã ¼ö rgs ÆÄÀÏ ( MyProvider.rgs ´Ü¼øÇÑ Àбâ Àü¿ë °ø±ÞÀÚ ±¸Çö¿¡ ³ª¿Í °£´ÜÇÑ °ø±ÞÀÚ¿¡ ´ë ÇÑ). °ø±ÞÀÚ ¶ó´Â ÅØ½ºÆ® ÆÄÀÏÀ» ¿­°í gloo.txt , ¦¼ö ij¸®Áö ±¸ºÐ ÇÏ´Â ¹®ÀÚ¿­À» Æ÷ÇÔ ÇÏ´Â ¹Ýȯ ÇÕ´Ï´Ù. ¿ÀÇ ÆÄÀÏ °æ·Î °ø±ÞÀÚ¸¦ Àü´Þ °ø±ÞÀÚ ¹®ÀÚ¿­¡£

   °æ¿ì (¿øº».Open("MyProvider.MyProvider.1", NULL)! = S_OK)
      ¹Ýȯ;

°æ¿ì (¼¼¼Ç.Open(source)! = S_OK)
      ¹Ýȯ;

°æ¿ì (Å×À̺íÀÔ´Ï´Ù.¿ÀÇ (¼¼¼Ç, _T("c:\\public\\testprf2\\gloo.txt"))! = S_OK)
      ¹Ýȯ

󸮱â È£Ãâ µ¥ÀÌÅ͸¦ °¡Á®¿Ã table.MoveNext ¾Æ·¡¿¡ º¸ÀÌ´Â ¹Ù¿Í °°ÀÌ ÇÕ´Ï´Ù. ´õ ¸¹Àº ÇàÀÌ ¾øÀ» °æ¿ì °ø±ÞÀÚ°¡ DB_S_ENDOFROWSET À» ¹Ýȯ ÇÏ °í ·çÇÁ Á¾·á ÇÕ´Ï´Ù. ·çÇÁ Á¦¾î ¹®À» S_OK¸¦ ¹Ýȯ °ªÀ» ºñ±³ÇÕ´Ï´Ù. DB_S_ENDOFROWSET ¼º°øÀûÀÎ ¹Ýȯ ÄÚµå °£ÁÖ µË´Ï´Ù ¶§¹®¿¡ ·çÇÁ ÄÚµå SUCCEEDED ¸ÅÅ©·Î »ç¿ë ÇÏ´Â °æ¿ì Á¾·á ÇÏÁö °Í ÀÌ´Ù¡£

   µ¿¾È (Å×À̺íÀÔ´Ï´Ù.MoveNext() = S_OK)
   {
      m_ctlString1.AddString(table.szCommand);
      m_ctlString2.AddString(table.szText);
   }

¼ÒºñÀÚ ´Ü¼ø °ø±ÞÀÚ ( ´Ü¼øÇÑ Àбâ Àü¿ë °ø±ÞÀÚ ±¸Çö¿¡¼­ °Ç¼³)À» Å×½ºÆ®ÇÒ Áغñ°¡ µÇ¾ú½À´Ï´Ù.

´ÙÀ½ Ç׸ñ ¿¡¼­´Â´Â Çâ»ó µÈ °ø±ÞÀÚ´Â IRowsetLocate ÀÎÅÍÆäÀ̽º¸¦ ±¸Çö ÇÏ´Â »ç¿ë Çϱâ À§ÇØ ¼ÒºñÀÚ¸¦ ¼öÁ¤ ÇÏ´Â ¹æ¹ýÀ» º¸¿© ÁÝ´Ï´Ù.

OLE DB ÅÛÇø´ ¼ÒºñÀÚ¸¦ ±¸Çö ÇÏ´Â °ÍÀ» ´Ù½Ã

Index