Q&A

  • 이종DB 간 inset 시.. 문제가 발생해요..고수님들의 사려깊은 조언 ..


이종DB 간 inset 시.. 문제가 발생해요..고수님들의 사려깊은 조언 ..

하나는 ms-sql, 다른 하나는 ms-access를 사용합니다.

sql 에서 record set 을 불러와서 access db로 옮기려고 합니다..



여기에서는 문제가 발생되지 않는데요...



근데...

Query 에서 자꾸 id, pwd를 묻습니다..



그래서 차선책으로 database component를 사용해서 loginprompt = false

했습니다..

헌데...database component에 사용한 이름이 두번 쓰여졌다고 error이 납니다...



어케해야하나요.. 흑흑...

Database1.DriverName := 'SQL Server';

// Database1.DatabaseName := 'cibal';

Database1.Params.Add('USER NAME = sa');

Database1.Params.Add('ODBC DSN = cibal');

Database1.Params.Add('PASSWORD =');

Database1.LoginPrompt := False;

Database1.Open;



Sql.Clear;

Sql.Add(' INSERT INTO ":mis_report:rpt_insurance" '); //mdb

Sql.Add(' (he_id) ');

Sql.Add(' Select E.he_id from ":cibal:hl_employee" E '); //sql

Sql.Add(' where e.he_id = ''89122300012'' ');















3  COMMENTS
  • Profile
    이치형 2000.04.20 02:41
    파이공주 wrote:

    >

    > 이종DB 간 inset 시.. 문제가 발생해요..고수님들의 사려깊은 조언 ..

    > 하나는 ms-sql, 다른 하나는 ms-access를 사용합니다.

    > sql 에서 record set 을 불러와서 access db로 옮기려고 합니다..

    >

    > 여기에서는 문제가 발생되지 않는데요...

    >

    > 근데...

    > Query 에서 자꾸 id, pwd를 묻습니다..

    >

    > 그래서 차선책으로 database component를 사용해서 loginprompt = false

    > 했습니다..

    > 헌데...database component에 사용한 이름이 두번 쓰여졌다고 error이 납니다...

    >

    > 어케해야하나요.. 흑흑...

    > Database1.DriverName := 'SQL Server';

    > // Database1.DatabaseName := 'cibal';

    > Database1.Params.Add('USER NAME = sa');

    > Database1.Params.Add('ODBC DSN = cibal');

    > Database1.Params.Add('PASSWORD =');

    > Database1.LoginPrompt := False;

    > Database1.Open;

    >

    > Sql.Clear;

    > Sql.Add(' INSERT INTO ":mis_report:rpt_insurance" '); //mdb

    > Sql.Add(' (he_id) ');

    > Sql.Add(' Select E.he_id from ":cibal:hl_employee" E '); //sql

    > Sql.Add(' where e.he_id = ''89122300012'' ');

    >

    안녕하세요? 공주님...^.^

    고생이 많으 시군요...^.^

    // Database1.DatabaseName := 'cibal'; 요 부분 에서 에러가 나지요..

    저도 같은 에러가 난적이있지요,, 요 근래에...

    데이터콤포넌트는 Alias이름 'cibal'(이름이 좀 이상하네요..^.^실제 이름은 아니지요^.^)으로

    다른 콤포넌트 예를 들면 쿼리나 테이블콤포에서 사용하여 해당 쿼리나 테이블콤포가 오픈되어있으면

    Alias가 중복된것으로 판단하더라구요,, 해결책으로는 'cibal' Alias로 되어 있는 쿼리나 테이블을 찾아

    모두 Active속성을 False로 한후 해보세요.. 그럼 중복되었다는 에러는 나오질 않을 것입니다.

    만약에 그래도 안되면 다시 메일주세요...

    그리고 한가질 저도 질문이 있는데요,, Client/Server환경인가요?,,그러면 odbc를 사용하면 혹시 사용하다 프로그램이 뻥나는 경우 없던가요?..개발 환경좀 적어 보내주세요.. 궁금해서리...

    성공 하길 빌며,, 인천에서...



  • Profile
    파이공주 2000.04.21 23:06
    이치형 wrote:

    > 파이공주 wrote:

    > >

    > > 이종DB 간 inset 시.. 문제가 발생해요..고수님들의 사려깊은 조언 ..

    > > 하나는 ms-sql, 다른 하나는 ms-access를 사용합니다.

    > > sql 에서 record set 을 불러와서 access db로 옮기려고 합니다..

    > >

    > > 여기에서는 문제가 발생되지 않는데요...

    > >

    > > 근데...

    > > Query 에서 자꾸 id, pwd를 묻습니다..

    > >

    > > 그래서 차선책으로 database component를 사용해서 loginprompt = false

    > > 했습니다..

    > > 헌데...database component에 사용한 이름이 두번 쓰여졌다고 error이 납니다...

    > >

    > > 어케해야하나요.. 흑흑...

    > > Database1.DriverName := 'SQL Server';

    > > // Database1.DatabaseName := 'cibal';

    > > Database1.Params.Add('USER NAME = sa');

    > > Database1.Params.Add('ODBC DSN = cibal');

    > > Database1.Params.Add('PASSWORD =');

    > > Database1.LoginPrompt := False;

    > > Database1.Open;

    > >

    > > Sql.Clear;

    > > Sql.Add(' INSERT INTO ":mis_report:rpt_insurance" '); //mdb

    > > Sql.Add(' (he_id) ');

    > > Sql.Add(' Select E.he_id from ":cibal:hl_employee" E '); //sql

    > > Sql.Add(' where e.he_id = ''89122300012'' ');

    > >

    > 안녕하세요? 공주님...^.^

    > 고생이 많으 시군요...^.^

    > // Database1.DatabaseName := 'cibal'; 요 부분 에서 에러가 나지요..

    > 저도 같은 에러가 난적이있지요,, 요 근래에...

    > 데이터콤포넌트는 Alias이름 'cibal'(이름이 좀 이상하네요..^.^실제 이름은 아니지요^.^)으로

    > 다른 콤포넌트 예를 들면 쿼리나 테이블콤포에서 사용하여 해당 쿼리나 테이블콤포가 오픈되어있으면

    > Alias가 중복된것으로 판단하더라구요,, 해결책으로는 'cibal' Alias로 되어 있는 쿼리나 테이블을 찾아

    > 모두 Active속성을 False로 한후 해보세요.. 그럼 중복되었다는 에러는 나오질 않을 것입니다.

    > 만약에 그래도 안되면 다시 메일주세요...

    > 그리고 한가질 저도 질문이 있는데요,, Client/Server환경인가요?,,그러면 odbc를 사용하면 혹시 사용하다 프로그램이 뻥나는 경우 없던가요?..개발 환경좀 적어 보내주세요.. 궁금해서리...

    > 성공 하길 빌며,, 인천에서...

    >







    워낙 안되니까 cibal alias로 만들었구요..

    그건 딴 데서는 사용안하는 dsn입니다. 정말 어떻게 해야합니까?



    크리스탈 레포트를 사용하는데요...

    로컬디비와 연결해서 사용하고 있습니다.





    source DB는 ms-sql7.0을 사용합니다.



    다시한번 고수님의 사려깊은 조언을





  • Profile
    이치형 2000.04.22 05:23
    파이공주 wrote:

    > 이치형 wrote:

    > > 파이공주 wrote:

    > > >

    > > > 이종DB 간 inset 시.. 문제가 발생해요..고수님들의 사려깊은 조언 ..

    > > > 하나는 ms-sql, 다른 하나는 ms-access를 사용합니다.

    > > > sql 에서 record set 을 불러와서 access db로 옮기려고 합니다..

    > > >

    > > > 여기에서는 문제가 발생되지 않는데요...

    > > >

    > > > 근데...

    > > > Query 에서 자꾸 id, pwd를 묻습니다..

    > > >

    > > > 그래서 차선책으로 database component를 사용해서 loginprompt = false

    > > > 했습니다..

    > > > 헌데...database component에 사용한 이름이 두번 쓰여졌다고 error이 납니다...

    > > >

    > > > 어케해야하나요.. 흑흑...

    > > > Database1.DriverName := 'SQL Server';

    > > > // Database1.DatabaseName := 'cibal';

    > > > Database1.Params.Add('USER NAME = sa');

    > > > Database1.Params.Add('ODBC DSN = cibal');

    > > > Database1.Params.Add('PASSWORD =');

    > > > Database1.LoginPrompt := False;

    > > > Database1.Open;

    > > >

    > > > Sql.Clear;

    > > > Sql.Add(' INSERT INTO ":mis_report:rpt_insurance" '); //mdb

    > > > Sql.Add(' (he_id) ');

    > > > Sql.Add(' Select E.he_id from ":cibal:hl_employee" E '); //sql

    > > > Sql.Add(' where e.he_id = ''89122300012'' ');

    > > >

    > > 안녕하세요? 공주님...^.^

    > > 고생이 많으 시군요...^.^

    > > // Database1.DatabaseName := 'cibal'; 요 부분 에서 에러가 나지요..

    > > 저도 같은 에러가 난적이있지요,, 요 근래에...

    > > 데이터콤포넌트는 Alias이름 'cibal'(이름이 좀 이상하네요..^.^실제 이름은 아니지요^.^)으로

    > > 다른 콤포넌트 예를 들면 쿼리나 테이블콤포에서 사용하여 해당 쿼리나 테이블콤포가 오픈되어있으면

    > > Alias가 중복된것으로 판단하더라구요,, 해결책으로는 'cibal' Alias로 되어 있는 쿼리나 테이블을 찾아

    > > 모두 Active속성을 False로 한후 해보세요.. 그럼 중복되었다는 에러는 나오질 않을 것입니다.

    > > 만약에 그래도 안되면 다시 메일주세요...

    > > 그리고 한가질 저도 질문이 있는데요,, Client/Server환경인가요?,,그러면 odbc를 사용하면 혹시 사용하다 프로그램이 뻥나는 경우 없던가요?..개발 환경좀 적어 보내주세요.. 궁금해서리...

    > > 성공 하길 빌며,, 인천에서...

    > >

    >

    >

    >

    > 워낙 안되니까 cibal alias로 만들었구요..

    > 그건 딴 데서는 사용안하는 dsn입니다. 정말 어떻게 해야합니까?

    >

    > 크리스탈 레포트를 사용하는데요...

    > 로컬디비와 연결해서 사용하고 있습니다.

    >

    >

    > source DB는 ms-sql7.0을 사용합니다.

    >

    > 다시한번 고수님의 사려깊은 조언을

    >

    >

    안녕하세요?

    저번에 답변드린것은 별로 도움이 못되었나보네요..^.^훌쩍...

    정말 힘드시겠군요,,, Alias의 사연을 이제 이해할것같네요.^.^

    그러시면 위의 소스를 좀 수정했으니 한번해보세요.

    제가 테스트해본결과로는 odbc를 사용하더라고 데이터베이스컴포에서는 아래내용만

    설정해주면 되는걸로 알고있거든요,, alias와 데이터베이스이름이 같다면,

    만약에 다르다면 데이터베이스의 AliasName과 DatabaseName에 각각 올바른 이름을

    넣어야하구요..

    그리구 이걸 테스트할때에는 프로젝트를 따로 만들어 독립적으로 해보세요..

    그런식으로 원인을 점차 좀혀 나가야될것같네요..

    제 생각으로는 Params에 넣은 Odbc의 Alias와 Databasename의 Alias가 중복되는 것같아요..

    그리고 힘내세요,, 저도 어제 한가지가 안되어서 여러시간 고생했어요,,

    하지만 힘내서 차근차근 원인을 좁혀 나갔습니다.. 중요한건 델파이에서 무엇을 하다가

    안될경우에는 간단하게 새로 프로젝트를 만들어 독립적으로 하면서 원인분석을 해야되겠더라구요..

    그런데 무슨 프로젝트이길래 소스는 mssql이고 리포트는 로컬디비를 사용하시나요?

    그리구 Mdb와 Mssql를 사용하시면 각 디비에 접근할때는 Database컴포를 2개를 사용하여

    각각 연결시키는게 좋을듯 싶습니다.

    그럼 수고하시고, 또 메일주세요..

    ^.^하이팅^.^ 힘내세요....공주님^.^

    > > > Database1.DatabaseName := 'cibal';

    > > > Database1.LoginPrompt := False;

    > > > Database1.Open;



    • hjcho96
    • 2000.04.20 01:42
    • 1 COMMENTS
    • /
    • 0 LIKES
    • sjd
      2000.04.20 05:14
      hjcho96 wrote: > win95 > computer1->interbase server 설치 > computer2->interbase client 설치 > B...
    • 델초보
    • 2000.04.20 01:42
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 갱민이
      2000.04.20 02:50
      델초보 wrote: > 안녕하세여? > > 델초보임당 > > 다른 분의 소스 가져다가 컴파일 하는 뎅 리소스 ...
    • 초보1
    • 2000.04.20 01:04
    • 3 COMMENTS
    • /
    • 0 LIKES
    • ACCESS
      2000.04.20 02:50
      초보1 wrote: > 초보자가 올립니다. > query, datasource, dbgrid 가 서로연결되어있고, > > dbgrid...
    • 구창민
      2000.04.20 01:49
      초보1 wrote: > 초보자가 올립니다. > query, datasource, dbgrid 가 서로연결되어있고, > > dbgrid...
    • 하얀까마귀
      2000.04.20 08:30
      안녕하세요 하얀까마귀 입니다.. 구창민님의 말씀처럼.. dbgrid에서 어떤 입력을 하는건 별로 안좋다고 ...
    • 맹주형
    • 2000.04.20 00:59
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 강민주
      2000.04.20 01:33
      맹주형 wrote: > DB에 있는 데이터를 프린터로 출력을 하려고 합니다. > "델파이"라는 데이터가 있을경우...
    • 내가 찾아볼께
      2000.09.02 09:23
      강민주 wrote: > 맹주형 wrote: > > DB에 있는 데이터를 프린터로 출력을 하려고 합니다. > > "델파이"...
    • 황남철
    • 2000.04.19 23:50
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.04.19 23:58
      안녕하세요. 최용일입니다. Copy(A ,2, Length(A) - 1); ^^ 항상 즐코하세요. 황남철 wrote: > ...
    • 강인규
      2000.04.20 00:19
      테스트해보지 않았습니다만 length명령을 사용하시면 될듯합니다. copy(a,2,length(a)); 하시면 됩니...
    • 하얀까마귀
      2000.04.20 08:36
      안녕하세요 하얀까마귀 입니다.. 다른분들이 답변올리셧는데.. 저두 한마디.. 후후 if pos('e' , a) ...
    • 최용일
      2000.04.19 23:07
      안녕하세요. 최용일입니다. Anchors 속성을 사용해 보세요. True, False바꾸어 보면서 몇번 실행해보시...
    • 한승수
      2000.04.19 23:27
      예..감사합니다..그런데요.. 툴바같은 컴포넌트는 버튼을 추가했을경우..폼의 크기가 버튼의 합의 크기...
    • 최용일
      2000.04.20 00:02
      안녕하세요. 최용일입니다. 폼에 스크롤바를 생기지 않게 하실려면 폼의 AutoScroll속성값을 False로 해...
    • 최진석
    • 2000.04.19 22:25
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.04.19 23:01
      안녕하세요. 최용일입니다. 델파이에서 트리노드에 Data란 속성이 있습니다. 아마도 비베의 트리노드에 ...
    • 이치형
      2000.04.20 02:41
      파이공주 wrote: > > 이종DB 간 inset 시.. 문제가 발생해요..고수님들의 사려깊은 조언 .. > 하나...
    • 파이공주
      2000.04.21 23:06
      이치형 wrote: > 파이공주 wrote: > > > > 이종DB 간 inset 시.. 문제가 발생해요..고수님들의 사려...
    • 이치형
      2000.04.22 05:23
      파이공주 wrote: > 이치형 wrote: > > 파이공주 wrote: > > > > > > 이종DB 간 inset 시.. 문제가 ...
    • 최일성
    • 2000.04.19 21:16
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조규춘
      2000.04.19 21:36
      최일성 wrote: > 안녕하십니까? > 델파이를 공부중인 초보자거든여! > 델파이 5.0을 사용하고 있는데 co...
    • 최용일
      2000.04.19 21:58
      안녕하세요. 최용일입니다. TimeStamp를 쓰시면 간단하게 구하실 수 있습니다. function TForm1.GetD...
    • knight
    • 2000.04.19 20:47
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 고종일
    • 2000.04.19 20:05
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.04.19 20:45
      안녕하세요. 최용일입니다. 뭐 여러가지 방법이 있겠지만 메세지를 사용하시는것이 제일 간단할 것 같은...
    • 엄주평
    • 2000.04.19 19:42
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.04.19 20:30
      안녕하세요. 최용일입니다. 디스크의 타입정보는 GetDriveType란 API함수를 이용하시면 알 수 있습니다....
    • 최석기
      2000.04.19 20:04
      엄주평 wrote: > 델파이를 시작한지 얼마 되지 않습니다. > 하드 디스크인지 아닌지 구별하는 방법하구요...
    • HART
      2000.04.19 18:29
      답은 모두 알는데 조합이 안되것 같은데. 먼저 출력하기 전에 prepare를 하지면 pagecount에 출력하려는 출...
    • 최은석
      2000.04.20 18:37
      초보 wrote: > 4시간동안 헤맸어요..머리가 무척나쁜건지 일주일 봤는데 모르겠네요. > 폼에서 디자인하...
    • Mr.Q
      2000.04.20 05:00
      초보 wrote: > 4시간동안 헤맸어요..머리가 무척나쁜건지 일주일 봤는데 모르겠네요. > 폼에서 디자인하...
    • HART
      2000.04.19 18:57
      조금은 무시한 방법이되 숫자인지 확실하게 구분할 수 있습니다. function numbercheck(s : string) : b...
    • 최석기
      2000.04.19 18:36
      초보 wrote: > 4시간동안 헤맸어요..머리가 무척나쁜건지 일주일 봤는데 모르겠네요. > 폼에서 디자인하...