database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 7308 게시물 읽기
No. 7308
Array data type 바인딩
작성자
최명진(choipd)
작성일
2008-01-16 16:49
조회수
5,669

postgresql 8.1.x와 libpqxx 2.6.9 를 사용 중입니다.

array형식의 컬럼의 데이터를 바인딩하는 방법을 모르겠습니다.

혹시 경험이 있으신 분들의 도움을 구하고자 글을 올립니다.

 

작은 단서라도 큰 도움이 될 수 있으니 조언을 부탁드립니다.

 

-- 최명진

이 글에 대한 댓글이 총 4건 있습니다.

바인딩 한다는 게 어떤 말씀이신가요?


구체적으로 작업을 원하시는지 알려주시면... 잘은 모르지만 같이 고민해 볼 수 있을 듯합니다만...

박성철(gyumee)님이 2008-01-18 11:29에 작성한 댓글입니다.

네, 바인딩이란 표현이 좀 부족한 것이 사실이군요.

 

제가 의미하는 바는, libpqxx라이브러리를 이용하여 디비에서 데이터를 가져올 때, 가져온 데이터를 프로그래밍 언어의 변수로 붙여내는 과정을 가리키는 뜻에서 바인딩이라고 하였습니다.

 

관련해서 인터넷을 찾아봤지만, 애석하게도 libpqxx에 대해서 해결된 방법이 없는 것으로 이야기되고 있습니다.

 

어레이 타입을 적극적으로 사용하려고 하였으나, 본 문제에 부딧혀서 머뭇거리고 있네요. 스마트한 해결책이 없다면, 어레이 사용을 보류해야 할 거 같습니다.

 

최명진(choipd)님이 2008-01-18 16:52에 작성한 댓글입니다.

내부적으로 클라이언트로 넘어오는 모든 데이터는 문자열입니다. 
cpp 이니 resultset 같은 클래스의 getInt() 같은 놈이 있다면. 

ResultSet.getInt() 라면, 

ResultSet.getIntVector()
ResultSet.getStrVector() 

이런식으로 클래스를 확장하면 될 것 같은데요. 

내부적으로 libpq 에서의 getResult() 인가 그것을 가지고, '{', '}', 문자로 바꾸고, 
',' 문자로 나누면서 strtok 인가(?) 그로 for문 중에 형 변환해서, 벡터 push 하면 될듯싶습니다. 

그리 어려운 작업 같아보이는 않습니다.

김상기(ioseph)님이 2008-01-18 22:59에 작성한 댓글입니다.
PQGetvalue 가 스트링 타입으로만 와서요

필요한 부분은 만들어 쓰셔야 할듯 해요

[POSTGRESQL-SOURCE-PATH]/src/backend/utils/adt/arrayfunc.c

C로만 되어 있어서 ^-^;;; '') 암튼 저부분 참조해서 만들어 쓰셔도 좋을듯해요
K님이 2008-01-21 09:37에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
7311PostgreSQL 에들어있는 내용을
대로
2008-01-18
5443
7310[질문] postgres 계정에서만 서버가 실행되는 문제.. [2]
나그네
2008-01-18
5761
7309이런 용도로 사용하기 적합 할까요? [5]
최명진
2008-01-17
5833
7308Array data type 바인딩 [4]
최명진
2008-01-16
5669
7307사용자 생성중 [2]
초짜군
2008-01-16
6412
7306./configure 시 문제가 생깁니다.(다시) [2]
도움좀
2008-01-15
6261
7305클라이언트가 접속이 끊어졌는지 실시간으로 감시는 어떻게? [1]
심상호
2008-01-14
5810
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다