Background Image

FORUM

조회 수 15619 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

ADO란 객체를 이용하여 프로그램을 작성하는데 이 객체는 ODBC나 OLEDB Driver를 이용합니다.
그런데 ADO객체는 connection이나 recordset을 만들 때 cursor의 위치를 지정할 수 있습니다.
ODBC는 server side cursor or client side cursor를 모두 지원하고 있고 잘 동작이 됩니다.

그러나 OLEDB는 client side cursor가 지원이 안되고 있습니다. ADO기본값은 server side cursor입니다.
client side cursor가 지원되지 않으면 많은 개발 툴이나 질의 툴 등에서 문제가 발생합니다.

        ' make ODBC connection string
'        strConn = strConn & "driver={CUBRID Driver};"
'        strConn = strConn & "server=" & UserInfo.ServerIP & ";"
'        strConn = strConn & "port=" & UserInfo.PortNO & ";"
'        strConn = strConn & "uid=" & UserInfo.DBUserID & ";"
'        strConn = strConn & "pwd=" & UserInfo.DBPassword & ";"
'        strConn = strConn & "db_name=" & UserInfo.DBName & ";"

        'make OLEDB connection string
        strConn = strConn & "Provider = CUBRIDProvider;"
        strConn = strConn & "Data Source =" & UserInfo.DBName & ";"
        strConn = strConn & "Location =" & UserInfo.ServerIP & ";"
        strConn = strConn & "User ID =" & UserInfo.DBUserID & ";"
        strConn = strConn & "Password =" & UserInfo.DBPassword & ";"
        strConn = strConn & "Port =" & UserInfo.PortNO & ";"
        strConn = strConn & "Fetch Size = 100;"
        strConn = strConn & "Persist Security Info = True;"

        ' connect to database with ado connection object
        Set GadoConn = New ADODB.Connection
        With GadoConn
          .ConnectionString = strConn
          .ConnectionTimeout = 30      '
          .Properties("Prompt") = adPromptNever ' 이것은 ADO에서 기본 프롬프트 모드입니다.
          .CursorLocation = adUseClient
            .Open
        End With

위의 소스에서 연결 문장을 ODBC를 이용하면 문제가 없이 잘 동작하는데 OLEDB를 이용하면 데이타를 가지고 오지
못해서 데이타 처리가 안됩니다.
내부 에러로 보입니다. 확인 부탁합니다.

  • ?
    cubebridge 2010.01.29 21:28
    현재 내부 확인 중입니다. 
    확인 후 결과를 말씀드리겠습니다.
  • ?
    seongjoon 2010.02.10 00:13

    VB6.0에서 테스트를 해보았습니다.
    제가 테스트에서 사용한 소스 코드는 아래과 같으며, 테스트 결과 odbc와 oledb 모두 정상적으로 값이 출력되었습니다.
    테스트에 사용된 CUBIRD 버젼은 최신 버젼은 CUBRID 2008 R2.1 (8.2.1.0215)입니다.

    '소스 시작
    Private Sub Command1_Click()

        Dim GadoConn As New ADODB.Connection
        Dim cmdCommand As New ADODB.Command
        Dim rstRecordSet As New ADODB.Recordset
        Dim strConn As String
       
        'strConn = strConn & "driver={CUBRID Driver};"
        'strConn = strConn & "server=localhost;"
        'strConn = strConn & "port=33000;"
        'strConn = strConn & "uid=dba;"
        'strConn = strConn & "pwd=;"
        'strConn = strConn & "db_name=demodb;"
     
        strConn = strConn & "Provider = CUBRIDProvider;"
        strConn = strConn & "Data Source = demodb;"
        strConn = strConn & "Location = localhost;"
        strConn = strConn & "User ID = dba;"
        strConn = strConn & "Password =;"
        strConn = strConn & "Port = 33000;"
        strConn = strConn & "Fetch Size = 100;"
        strConn = strConn & "Persist Security Info = True;"

        Set GadoConn = New ADODB.Connection
        With GadoConn
          .ConnectionString = strConn
          .ConnectionTimeout = 30      '
          .Properties("Prompt") = adPromptNever ' 이것은 ADO에서 기본 프롬프트 모드입니다.
          .CursorLocation = adUseClient
          .Open
        End With

        With cmdCommand
            .ActiveConnection = GadoConn
            .CommandText = "SELECT * FROM code;"
            .CommandType = adCmdText
        End With

        With rstRecordSet
            .CursorType = adOpenStatic
            .CursorLocation = adUseClient
            .LockType = adLockOptimistic
            .Open cmdCommand
        End With
       
        If Not rstRecordSet.EOF Then rstRecordSet.MoveFirst
        Do While Not rstRecordSet.EOF
            List1.AddItem rstRecordSet.Fields(0) & ", " & rstRecordSet.Fields(1)
            rstRecordSet.MoveNext
        Loop
      
        GadoConn.Close
       
        Set GadoConn = Nothing
        Set cmdCommand = Nothing
        Set rstRecordSet = Nothing
    End Sub
    '소스 끝


  1. CUBRID 사용자를 위한 DBeaver 도구 출시 안내

    Date2024.04.23 Byadmin Views31
    read more
  2. SQLGate for CUBRID 영구 무료 라이선스 제공

    Date2020.04.09 Byadmin Views4457
    read more
  3. SQL 에러 문의 드립니다.

    Date2011.05.19 By호랑이새끼 Views15397
    Read More
  4. SQL statement violated NOT NULL constraint

    Date2023.03.15 Byyoo Views164
    Read More
  5. SPRING BOOT 2.X 버전연동 시 문제

    Date2019.02.15 By딩구징구 Views1483
    Read More
  6. SET, MULTISET, LIST과 같은 컬렉션 타입 컬럼에 저장된 원소의 갯수를 알고 싶습니다.

    Date2023.01.06 By새옹지마 Views130
    Read More
  7. SET SYSTEM PARAMETERS 질문 입니다.

    Date2013.10.20 Byphil Views7870
    Read More
  8. SELECT 쿼리 실행시 오류문제입니다.

    Date2011.02.24 By니코로빈 Views9707
    Read More
  9. SELECT 전체 갯수에 대해 질문 드리겠습니다.

    Date2020.04.17 By훈입니다. Views263
    Read More
  10. SELECT 실행 버그 보냅니다

    Date2016.06.30 By취우다 Views9351
    Read More
  11. SELECT 시, 필드 값의 대소문자 구분 없이 조건 검색 가능할까요?

    Date2011.04.02 By차오이 Views16381
    Read More
  12. SELECT 시 INDEX 를 타고 안타는 차이점 ?

    Date2020.12.17 ByRega Views396
    Read More
  13. SELECT FETCH 문제

    Date2018.03.07 By초보123 Views550
    Read More
  14. SAP Connection 관련 질문입니다.

    Date2019.01.09 Bychuci Views195
    Read More
  15. Rocky Linux 9에 큐브리드 9.3버전 설치

    Date2023.12.19 By범이 Views100
    Read More
  16. ResulstSet이 닫혔는데... 닫히는 이유가 먼가요?

    Date2011.06.10 By안지민 Views15607
    Read More
  17. Replication, 서버 이중화, HA

    Date2012.01.26 By승준77 Views23263
    Read More
  18. Release upgrade 문의

    Date2017.02.13 Byyscoma Views9138
    Read More
  19. Regexp_count

    Date2024.04.09 BySEO Views66
    Read More
  20. Redmine 의 데이터베이스로 큐브리드를 사용하는 것이 가능할까요?

    Date2018.04.17 By밝은마음 Views256
    Read More
  21. Redhat 8버전 tls 1.0 에러

    Date2024.01.30 By11시38분 Views120
    Read More
  22. ROW_NUMBER() OVER(PARTITION BY 어떻게..해야 할까요???

    Date2011.09.09 By초식곰 Views26458
    Read More
Board Pagination Prev 1 ... 146 147 148 149 150 151 152 153 154 155 ... 200 Next
/ 200

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales