마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

MSSQL에서 데이터를 불러와 배열에 뿌려주려고 합니다.

0 추천
Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
conn = DriverManager.getConnection("jdbc:jtds:sqlserver://"아이피:포트번호/DB명","아이디","비밀번호");
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet reset = stmt.executeQuery("SELECT TOP 3 * FROM 끄끄끄 WHERE 조건1='0001' AND 조건2='0002' AND 조건3='20140331'");
if(Function.eofbof(reset))
{
}else{

int rowcount;
rowcount = Function.rowcount(reset);

dd = new String[rowcount];

int k =0;

while(reset.next()){



dd[k]=reset.getString("DATA");

k++;

}

DB의 데이터를 While문을 돌면서 한줄 씩 읽어내 dd 라는 배열안에 넣어주려고 하는대

 While문 안에는 로그조차 안찍히네요 재 생각엔 reset.next()가 잘못된거 같은대..

어떻게 좋은 방법 없을까요 ?

 

익명사용자 님이 2014년 4월 1일 질문
jdbd driver 를 세팅하셨나요?
DB 접속을 확인하셨나요?

이 두가지를 먼저 확인해주세요.

1개의 답변

+2 추천
안드로이드에서는 외부 DB로 직접적인 접근은 막아뒀습니다..

따라서 웹서버를 사용하여 조회를 한다던지의 우회적인 접근이나 C로 구현을하여 연동을 하여야 합니다.
인연 (31,880 포인트) 님이 2014년 4월 1일 답변
저 Class에 접근하기 전 Login Class에서는 MSSQL에 직접 접근하여 로그인 DB에서 체크하는 방법으로 구현했기에 이번에도 이러한 방법을 쓴 것인대 안되는 것인가요 ?..
안도로이드가 이 접근이 DB접근인지 어떻게 알고 막나요?
JDBC드라이버가 안드로이드 Dalvik에서 지원하지 않는 기능들을 썼다면 안될 수는 있습니다만 요즘 JDBC드라이버들은 안드로이드에서 웬만하면 다 됩니다. 자바니까요. DB접근도 결국 보통 소켓통신으로 구현할 텐데 안될리가요..
하지만 중요한 건 보통은 JDBC를 통한 DB접근을 하지 않는다는 거죠.
아주 직접적이며 단순한 이유가 하나 있습니다.
JDBC로 DB접근할 때 connection string을 기입하는데 여기에 아이디 패스워드 다 넣습니다. 이거 decompile하면 다 나옵니다. 이것만으로도 JDBC를 안 쓸 이유는 충분히 됩니다만 read only DB이거나 보안에 특별히 상관없다면 구조가 간단해지는 잇점도 분명 있습니다.
...