Q&A

  • [초보질문] 델파이5.0에서 ms sql server7.0을 연결할려고 하는데....?
설 잘 보내셨는지요... ^^



현재 저는 델파이 5.0을 사용하고 있습니다.

네트웍상으로 연결된 서버에 sql server 7.0이 있는데요



델파이에서 네트웍상에 있는 sql server에 연결을 하지 못해서 헤메이고 있습니다.



그러니까 프로그램상에서 sql server에 접속해서 insert.delete, update를 할수

있어야 하거든요....



책을 보니까 모두 로칼에 있는 DB접속에 관해서만 나와있어서... ^^;

정말 하나뚜 모르는 사람이라 생각하시고

많은 도움을 주십시요...



자바에서는

Class.forName ("oracle.jdbc.driver.OracleDriver");

Connection connWrite = DriverManager.getConnection ("jdbc:oracle:thin:EG/sse@203.248.108.34:1521:ORCL");



for(i=0; i< n; i++) {

Statement stmtDeleteRow = connWrite.createStatement ();

int x = stmtDeleteRow.executeUpdate("delete from earch_productinfo where ShopUrl = '"+data[i][0]+"'"); stmtDeleteRow.close();



이렇게 하면 되는데 델파이는 전혀 감이 안오네요...

제가 너무 모르죠 ??? ^^



원격 sql server 에 접속을 해서 쿼리를 던지고 받아오는 부분까지

좀 알려주세요...

바쁘시면 유사한 소스라도 보내주시면 감사하겠습니다.

항상 좋은 시간 되십시요



3  COMMENTS
  • Profile
    최원실 2000.02.08 03:00
    장철희 wrote:

    > 설 잘 보내셨는지요... ^^

    >

    > 현재 저는 델파이 5.0을 사용하고 있습니다.

    > 네트웍상으로 연결된 서버에 sql server 7.0이 있는데요

    >

    > 델파이에서 네트웍상에 있는 sql server에 연결을 하지 못해서 헤메이고 있습니다.

    >

    > 그러니까 프로그램상에서 sql server에 접속해서 insert.delete, update를 할수

    > 있어야 하거든요....

    >

    > 책을 보니까 모두 로칼에 있는 DB접속에 관해서만 나와있어서... ^^;

    > 정말 하나뚜 모르는 사람이라 생각하시고

    > 많은 도움을 주십시요...

    >

    > 자바에서는

    > Class.forName ("oracle.jdbc.driver.OracleDriver");

    > Connection connWrite = DriverManager.getConnection ("jdbc:oracle:thin:EG/sse@203.248.108.34:1521:ORCL");

    >

    > for(i=0; i< n; i++) {

    > Statement stmtDeleteRow = connWrite.createStatement ();

    > int x = stmtDeleteRow.executeUpdate("delete from earch_productinfo where ShopUrl = '"+data[i][0]+"'"); stmtDeleteRow.close();

    >

    > 이렇게 하면 되는데 델파이는 전혀 감이 안오네요...

    > 제가 너무 모르죠 ??? ^^

    >

    > 원격 sql server 에 접속을 해서 쿼리를 던지고 받아오는 부분까지

    > 좀 알려주세요...

    > 바쁘시면 유사한 소스라도 보내주시면 감사하겠습니다.

    > 항상 좋은 시간 되십시요

    >



    안녕하세요..

    글을 읽어 보았는데 어디서 문제가 막혔는지 이해가 잘 안가네요..

    1. 델파이 BDE가 Orcle에 접속이 안 되서인지...

    2. BDE설정은 잘 되었는데 델파이 프로그램에서 DB와 접속하는 방법인지요..



    1번문제라면..

    먼저 BDE설정을 환경에 맞게 설정해야 합니다.

    가. 먼저 Orcle에서 알리아스를 쓰고자 하는 DB에 맞게한다.

    예 : Tcp/Ip 주소 값

    나. 알리아스가 생성되었으면 델파이 BDE Administrator에서 DB방을

    하나 만들어서 환경설정.

    예 : 1) 상단Database에서 오른쪽 마우스 클릭하여 New선택

    2) Database Drive Name 에서 Orcle선택

    3) Database 이름을 준다.( 예:Orcle에서 준 알리아스 )

    4) 좌측에 Database가 생성 되었고, 그럼 오른쪽에서 있는 값들을 지정..

    5) 상단 Dictionary로 가서 환경을 Orcle7.0에 맞추어 준다.



    1번은 되고서 2번문제라면..

    가. * Query(or Table) 컴포넌트의 Properties에서 Database이름을 준다.

    (DB 알리아스 Name)

    * 하고자 하는 일을 Sql로 작성한다.(Select..From..Where..)

    나. DataSource컴포넌트의 DataSet을 연결 (Query or Table 컴포넌트 이름)

    다. DbGrid에서 작업 및 작업내용을 보고자 할때.

    DbGrid의 Properties에서 DataSource를 연결한다 (Database컴포넌트 이름)



    몇 글자 적어보았는데 도움이 될런지요..

    제가 지금 노트북을 쓰고 있어 보다 자세히 설명하지 못한점 양해를 구합니다.

    이것을 보고 더 어지러우면 안 되시는데....

    그럼 이만...

  • Profile
    장철희 2000.02.08 04:09
    답변에 감사드립니다.

    제가 현재 만들고 있는 프로그램은요

    델파이 5를 사용 ftp에 접속해서 일정한 양식의

    파일을 받아와서 그 파일의 내용을 DB에 저장하는 프로그램입니다.

    환경은 현재 제가 작업중인 win98(델파이 5.0)(203.233.126.201)에서 프로그래밍을 하고 있습니다.

    그리고 DB는 네트웍으로 연결된 nt4.0 server

    ms sql server 7.0(203.233.126.251)이구요...



    문제는 제가 델파이가 처음이라서 기초도 잘 모른다는 것입니다. ^^;



    현재 완성된 것은 ftp에서 파일을 받아와서 파일을 열고 내용을 구분하는 부분까지 입니다.

    남은 부분은 정보들을 네트웍으로 연결되어 있는 sql server 7.0에 만들어 놓은 Table에 넣는 부분입니다.



    좀더 정확히 하자면 sql explorer에서 "enter SQL"에서 예를 들어 select * from news(sql server 7.0에 만들어 진 news라는 테이블)라는 쿼리가 현재 가능합니다.



    그것을 델파이 프로그램 내에서 어떻게 하는지를 모르는게

    현재 저의 문제입니다.

    델파이 프로그램내에서 203.233.126.251에 존재하는 sql server7.0내의

    table을 select, insert,delete,update 할수 있는 방법만 알면

    문제는 해결되는 것입니다.



    어렵게 답변해 주셨는데

    저가 너무 몰라 이해하질 못했습니다. 정말 죄송합니다.

    한번만 더 설명을 부탁드립니다.

    좋은 시간 되십시요...

    장철희 드림



    >

    > 안녕하세요..

    > 글을 읽어 보았는데 어디서 문제가 막혔는지 이해가 잘 안가네요..

    > 1. 델파이 BDE가 Orcle에 접속이 안 되서인지...

    > 2. BDE설정은 잘 되었는데 델파이 프로그램에서 DB와 접속하는 방법인지요..

    >

    > 1번문제라면..

    > 먼저 BDE설정을 환경에 맞게 설정해야 합니다.

    > 가. 먼저 Orcle에서 알리아스를 쓰고자 하는 DB에 맞게한다.

    > 예 : Tcp/Ip 주소 값

    > 나. 알리아스가 생성되었으면 델파이 BDE Administrator에서 DB방을

    > 하나 만들어서 환경설정.

    > 예 : 1) 상단Database에서 오른쪽 마우스 클릭하여 New선택

    > 2) Database Drive Name 에서 Orcle선택

    > 3) Database 이름을 준다.( 예:Orcle에서 준 알리아스 )

    > 4) 좌측에 Database가 생성 되었고, 그럼 오른쪽에서 있는 값들을 지정..

    > 5) 상단 Dictionary로 가서 환경을 Orcle7.0에 맞추어 준다.

    >

    > 1번은 되고서 2번문제라면..

    > 가. * Query(or Table) 컴포넌트의 Properties에서 Database이름을 준다.

    > (DB 알리아스 Name)

    > * 하고자 하는 일을 Sql로 작성한다.(Select..From..Where..)

    > 나. DataSource컴포넌트의 DataSet을 연결 (Query or Table 컴포넌트 이름)

    > 다. DbGrid에서 작업 및 작업내용을 보고자 할때.

    > DbGrid의 Properties에서 DataSource를 연결한다 (Database컴포넌트 이름)

    >

    > 몇 글자 적어보았는데 도움이 될런지요..

    > 제가 지금 노트북을 쓰고 있어 보다 자세히 설명하지 못한점 양해를 구합니다.

    > 이것을 보고 더 어지러우면 안 되시는데....

    > 그럼 이만...

  • Profile
    이런 2000.02.09 03:27
    장철희 wrote:

    > 답변에 감사드립니다.

    > 제가 현재 만들고 있는 프로그램은요

    > 델파이 5를 사용 ftp에 접속해서 일정한 양식의

    > 파일을 받아와서 그 파일의 내용을 DB에 저장하는 프로그램입니다.

    > 환경은 현재 제가 작업중인 win98(델파이 5.0)(203.233.126.201)에서 프로그래밍을 하고 있습니다.

    > 그리고 DB는 네트웍으로 연결된 nt4.0 server

    > ms sql server 7.0(203.233.126.251)이구요...

    >

    > 문제는 제가 델파이가 처음이라서 기초도 잘 모른다는 것입니다. ^^;

    >

    > 현재 완성된 것은 ftp에서 파일을 받아와서 파일을 열고 내용을 구분하는 부분까지 입니다.

    > 남은 부분은 정보들을 네트웍으로 연결되어 있는 sql server 7.0에 만들어 놓은 Table에 넣는 부분입니다.

    >

    > 좀더 정확히 하자면 sql explorer에서 "enter SQL"에서 예를 들어 select * from news(sql server 7.0에 만들어 진 news라는 테이블)라는 쿼리가 현재 가능합니다.

    >

    > 그것을 델파이 프로그램 내에서 어떻게 하는지를 모르는게

    > 현재 저의 문제입니다.

    > 델파이 프로그램내에서 203.233.126.251에 존재하는 sql server7.0내의

    > table을 select, insert,delete,update 할수 있는 방법만 알면

    > 문제는 해결되는 것입니다.

    >

    > 어렵게 답변해 주셨는데

    > 저가 너무 몰라 이해하질 못했습니다. 정말 죄송합니다.

    > 한번만 더 설명을 부탁드립니다.

    > 좋은 시간 되십시요...

    > 장철희 드림

    어디서 부터 모르시는지 감이 잡히지가 안군요

    혹시나 하고 적어봅니다

    먼저 BDE 관리자 설정은 아시겠지요

    쿼리콤포넌트를 이용하는 방법이 가장 좋습니다

    쿼리콤포넌트를 주시고

    databasename속성 설정

    그리고 sql문을 직접대입하시면 됩니다.

    예를 들어

    쿼리콤포넌트의 이름이 Query1이라고 가정하면



    with Query1 do

    begin

    SQL.Clear;

    SQL.Add('SELECT * FROM Table_Name');

    Open;

    end;

    이러한 형태로 작업하시면 됩니다.

    insert,delete도 마찬가지입니다.