2017-05-23 2 views
1

CData (cdata.com)의 JDBC 드라이버를 사용하여 QuickBooks 인스턴스에 액세스하고 있습니다. 아래 코드는 CData 웹 사이트에서 바로 사용할 수 있습니다 (qbConnString 제외). getConnection 호출은 정상적으로 작동하지만 쿼리가 실행될 때 예외가 발생합니다. 여기 QuickBooks에 액세스하기위한 CData JDBC 라이브러리의 컨텍스트에서 RSBOperation이란 무엇입니까? =

  connection = DriverManager.getConnection(qbConnString); 

      String cmd = "INSERT INTO Customers (LastName) VALUES (?)"; 
      QuickBooksPreparedStatement pstmt = 
       (QuickBooksPreparedStatement) connection.prepareStatement(cmd, 
       Statement.RETURN_GENERATED_KEYS); 
      pstmt.setString(1, "Hook"); 
      int count = pstmt.executeUpdate(); 
      System.out.println(count + " rows are affected"); 
      ResultSet rs = pstmt.getGeneratedKeys(); 
      while (rs.next()) { 
       System.out.println(rs.getString("ListId")); 
      } 
      connection.close(); 

은 executeUpdate의가 호출 될 때 생성되는 스택 추적입니다 :

XcoreXquickbooksX160X6254.ymc: The attribute name is required by RSBOperation. 
    at XcoreXquickbooksX160X6254.qi.executeUpdate(Unknown Source) 
    at app.JDBCConnect.qbConnect(JDBCConnect.java:49) 
    at app.JDBCConnect.<init>(JDBCConnect.java:34) 
    at app.JDBCConnect.main(JDBCConnect.java:25) 

그래서 내 질문은 : 무엇 RSBOperation가 어디 내가 문서 누락 된 요구 사항에 관한 찾을 수 있습니까?

+0

운전사의 버그와 같은 소리가 들리며 공급 업체에 신고하십시오. –

답변

1

실제로 사용자 오류입니다. 나는 섞여 버렸다. 이런.

내 코드가 QuickBooks Desktop을 대상으로하고 있습니다. 일반 QuickBooks 데스크톱 페이지가 아니라 QuickBook POS (판매 시점) 페이지에서 해당 코드를 복사했습니다.

POS 응용 프로그램의 고객 테이블에는 분명히 "성"이 아닌 "이름"이라는 열이 있습니다. 일반 QuickBooks 응용 프로그램의 Customer 테이블에 "LastName"이라는 열이 있는데 그 일은 내가 원했던 것입니다.

누군가가 메시지 "속성 이름이 RSBOperation으로 필요하다"내가 틀렸다면 정정 해줘,하지만 제발이 성을 "고객 테이블라는 이름의 열이없는" "같은으로 대체 할 수있다.

+0

아마도 당신이 개선 요청으로보고 할 가치가있을 것입니다. –