자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi FireDac:다른hstmt의결과에 연결이 사용중입니다 라는 오류에 대해
2016.09.14 17:45
본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
FireDac FDCONNECTION 관련 입니다
ODBC Connection 으로 하나의 FDCONNECTION 에 여러개의 FDQUERY을 연결하여
사용 한 경우인데 하나의 FDCONNECTION을 여러개의 FDQUERY에서(동일 Project의
여러 다수 Form(.PAS)의 FDQUERY에서) 사용 했는데 이 Message가 나오더군요.
(오류 message)
[Micrsoft][ODBC SQL Server Driver] 다른 hstmt의 결과에 연결이 사용 중입니다
ⓐ 물론 각 FDQEERY마다 서로 자기고유의 FDCONNECTION 을 두면 오류없이 잘
돌아 갑니다.
ⓑ 동일한 ODBC 동일한 내용 동일한 SQL 로 BDE (ODBC) 연결 하면 이때도 아무
문제 없이 잘 돌아 갑니다
* XE6에서 BDE로 잘 사용하는 것을 아무 다른 변경은 없고 단지 FireDac으로만
변경하려다가 부딪친 문제 입니다
(참고로 사용하는 SQLSERVER 는 SQLSERVER2010 입니다)
사실 FIREDAC에 대해서는 잘 모릅니다, BDE만 사용 해 가지고요.
그래서 이 내용을 확실하게 알고 싶습니다. 아시는 내용이 있으면 좀 가르켜 주시고
혹시 이것과 관련된 관련 기술자료나 이런 Reference(영문도 좋습니다) Intenet으로
어디서 구할 수있는지라도 좀 알려 주시면 감사하겠습니다
(나온 message는 파일로 첨부 하였습니다)
(좀더 부연설명 하면)
물론 SQL Server ODBC 문제 입니다 그런데 ① XE6의 FireDAC의 FDCOnnection에서 제공되는
SQL Server ODBC 가 과거(십수년전의) BDE의 SQL Server ODBC 보다 약한 것은 아닐거고
② DBMS도 SQLSERVER2010 이니 FireDAC 과 거리가 먼 차이나는 version 들도 아닐 거라는
생각입니다. (사실 만일 FireDAC이 BDE가나온시절 이전 그러니까 한 30년전에 쓰다 없어진
version 이라면 아 그냥 Support되는 수준이 낮아서라고 치부하고 상기 ⓐ로 대응 하고
말아버렸을 겁니다) 그래서 더 기술자료를 찾아 알고 싶어진 겁니다
댓글 4
-
험프리
2016.09.19 11:06
-
얄리
2016.09.19 11:11
MS SQL에서는 커넥션을 동시에 두개 이상 이용할 수 없습니다.
결론적으로 mssql은 connection을 한번에 하나만 사용하니깐 한번에 두개 이상 쓰지 말라는 메시지인거 같은데...
데브기어의 험프리님 말씀처럼 ODBC 파라미터 세팅을 살펴보시면 될지는 모르겠으나 각 FDQEERY마다 connection을 별개로 오픈하는 것이 좋지 않을까 생각됩니다.
-
준이킴
2016.10.20 13:11
쿼리 하나 + 커넥션 하나 로 구성한다면 얼마나 많이 복잡할까요 ^^
BDE 에서도 커넥션 하나 + 수십 수백개의 쿼리나 테이블을 사용했습니다. DB Express 에서도 그렇구요..
위의 에러는 다른 문제 같은데, 데브기어에서 문제 파악을 잘 못한 것 같습니다.
-
준이킴
2016.10.20 13:25
일단, 해결책은 찾았습니다.
이번에, 윈도우 10으로 업글한 후에 베를린 업데이트1 버전을 인스톨하고, 윈7+베를린으로 만든 VCL 어플을 컴파일하고 실했했더니
글쓴분과 동일한 증상이 나와서..원인을 찾아보니. 제 경우는 아래와 같습니다.
- 분명히 FDConnection 에 Native MSSQL 로 잡아주고 연결했는데도, 동일한 메시지가 나오면서 [ODBC] 라고 나오더군요..
- 윈7에 설치된 환경과 비교를 해보니 다른 점이 있더군요.
- 혹시나 하고, SQLServer Native Client 파일을 설치했습니다. ( 제 경우는 SQL Server 2008 )
- 에러가 났던 어플을 컴파일 없이 그대로 실행 해도 문제없이 돌아가네요..
결론, Native 로 FDConneciton 을 설정해 줘도, 해당 DB 에 맞는 Native 클라이언트 연결용 파일이 없으면, 알아서 ODBC 로 연결이 되는 것 같습니다.
예전 같으면, 연결이 안된다고 에러를 뿜었을텐데 FireDac 이 윈도우의 기본 ODBC 를 이용해서 ODBC 로 연결을 해주는 것 같습니다.
험프리님이 알려주신 엠바카데로 자료를 보니 Native Client 파일을 설치하라고 나와있습니다.
번호 제목 글쓴이 날짜 조회 수
공지
[프로그래밍 강의] 2021.6~2021.12
관리자 2015.01.22 21125
공지
유용한 관련 사이트
관리자2 2014.03.20 59951
공지
본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다.
관리자 2012.01.10 103915
11
델파이 xe 인디 TcpClient 컴포에서 TcpServer로 jpg파일 전송시 문제
[1] superman 2012.06.13 15586
10
delphi XE2 Code Editor 한글 깨짐 문제
[2] 앙구리2 2012.07.22 15897
9
XE5 모바일 앱 개발시 핸드폰의 전화번호 정보 가져오는 방법?
[2] 강구 2013.09.23 17305
8
델파이 xe 사용중 idHttp.post 한글 깨짐 문제
[2] superman 2012.05.09 19068
7
Indy ftp 한글깨짐 질문 입니다
[8] sdj 2012.04.04 20975
6
project 그룹 안의 bpl 간의 변수 공유에 대해 질문드립니다.
[2] 국카 2020.08.13 28006
5
모니터 2화면에서 프로그램 열리는 위치 지정가능하다면 방법은?
[3] 양현숙 2012.08.16 32106
4
제다이(Jedi) 컴포넌트 설치 방법을 알려주세요
[1] 관리자 2012.04.05 43264
»
FireDac:다른hstmt의결과에 연결이 사용중입니다 라는 오류에 대해
[4] jcijang 2016.09.14 58570
2
구버전 설치시 시리얼번호 문의
[1] DevCK 2020.06.02 94998
1
Delphi XE8 Loadlibrary를 이용한 VC++ dll 사용에 대한 문의드립니다.
[1] mir 2015.12.24 219499
Delphi FireDac:다른hstmt의결과에 연결이 사용중입니다 라는 오류에 대해
2016.09.14 17:45
본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
FireDac FDCONNECTION 관련 입니다
ODBC Connection 으로 하나의 FDCONNECTION 에 여러개의 FDQUERY을 연결하여
사용 한 경우인데 하나의 FDCONNECTION을 여러개의 FDQUERY에서(동일 Project의
여러 다수 Form(.PAS)의 FDQUERY에서) 사용 했는데 이 Message가 나오더군요.
(오류 message)
[Micrsoft][ODBC SQL Server Driver] 다른 hstmt의 결과에 연결이 사용 중입니다
ⓐ 물론 각 FDQEERY마다 서로 자기고유의 FDCONNECTION 을 두면 오류없이 잘
돌아 갑니다.
ⓑ 동일한 ODBC 동일한 내용 동일한 SQL 로 BDE (ODBC) 연결 하면 이때도 아무
문제 없이 잘 돌아 갑니다
* XE6에서 BDE로 잘 사용하는 것을 아무 다른 변경은 없고 단지 FireDac으로만
변경하려다가 부딪친 문제 입니다
(참고로 사용하는 SQLSERVER 는 SQLSERVER2010 입니다)
사실 FIREDAC에 대해서는 잘 모릅니다, BDE만 사용 해 가지고요.
그래서 이 내용을 확실하게 알고 싶습니다. 아시는 내용이 있으면 좀 가르켜 주시고
혹시 이것과 관련된 관련 기술자료나 이런 Reference(영문도 좋습니다) Intenet으로
어디서 구할 수있는지라도 좀 알려 주시면 감사하겠습니다
(나온 message는 파일로 첨부 하였습니다)
(좀더 부연설명 하면)
물론 SQL Server ODBC 문제 입니다 그런데 ① XE6의 FireDAC의 FDCOnnection에서 제공되는
SQL Server ODBC 가 과거(십수년전의) BDE의 SQL Server ODBC 보다 약한 것은 아닐거고
② DBMS도 SQLSERVER2010 이니 FireDAC 과 거리가 먼 차이나는 version 들도 아닐 거라는
생각입니다. (사실 만일 FireDAC이 BDE가나온시절 이전 그러니까 한 30년전에 쓰다 없어진
version 이라면 아 그냥 Support되는 수준이 낮아서라고 치부하고 상기 ⓐ로 대응 하고
말아버렸을 겁니다) 그래서 더 기술자료를 찾아 알고 싶어진 겁니다
댓글 4
-
험프리
2016.09.19 11:06
-
얄리
2016.09.19 11:11
MS SQL에서는 커넥션을 동시에 두개 이상 이용할 수 없습니다.
결론적으로 mssql은 connection을 한번에 하나만 사용하니깐 한번에 두개 이상 쓰지 말라는 메시지인거 같은데...
데브기어의 험프리님 말씀처럼 ODBC 파라미터 세팅을 살펴보시면 될지는 모르겠으나 각 FDQEERY마다 connection을 별개로 오픈하는 것이 좋지 않을까 생각됩니다.
-
준이킴
2016.10.20 13:11
쿼리 하나 + 커넥션 하나 로 구성한다면 얼마나 많이 복잡할까요 ^^
BDE 에서도 커넥션 하나 + 수십 수백개의 쿼리나 테이블을 사용했습니다. DB Express 에서도 그렇구요..
위의 에러는 다른 문제 같은데, 데브기어에서 문제 파악을 잘 못한 것 같습니다.
-
준이킴
2016.10.20 13:25
일단, 해결책은 찾았습니다.
이번에, 윈도우 10으로 업글한 후에 베를린 업데이트1 버전을 인스톨하고, 윈7+베를린으로 만든 VCL 어플을 컴파일하고 실했했더니
글쓴분과 동일한 증상이 나와서..원인을 찾아보니. 제 경우는 아래와 같습니다.
- 분명히 FDConnection 에 Native MSSQL 로 잡아주고 연결했는데도, 동일한 메시지가 나오면서 [ODBC] 라고 나오더군요..
- 윈7에 설치된 환경과 비교를 해보니 다른 점이 있더군요.
- 혹시나 하고, SQLServer Native Client 파일을 설치했습니다. ( 제 경우는 SQL Server 2008 )
- 에러가 났던 어플을 컴파일 없이 그대로 실행 해도 문제없이 돌아가네요..
결론, Native 로 FDConneciton 을 설정해 줘도, 해당 DB 에 맞는 Native 클라이언트 연결용 파일이 없으면, 알아서 ODBC 로 연결이 되는 것 같습니다.
예전 같으면, 연결이 안된다고 에러를 뿜었을텐데 FireDac 이 윈도우의 기본 ODBC 를 이용해서 ODBC 로 연결을 해주는 것 같습니다.
험프리님이 알려주신 엠바카데로 자료를 보니 Native Client 파일을 설치하라고 나와있습니다.
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | [프로그래밍 강의] 2021.6~2021.12 | 관리자 | 2015.01.22 | 21125 |
공지 | 유용한 관련 사이트 | 관리자2 | 2014.03.20 | 59951 |
공지 | 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. | 관리자 | 2012.01.10 | 103915 |
11 | 델파이 xe 인디 TcpClient 컴포에서 TcpServer로 jpg파일 전송시 문제 [1] | superman | 2012.06.13 | 15586 |
10 | delphi XE2 Code Editor 한글 깨짐 문제 [2] | 앙구리2 | 2012.07.22 | 15897 |
9 | XE5 모바일 앱 개발시 핸드폰의 전화번호 정보 가져오는 방법? [2] | 강구 | 2013.09.23 | 17305 |
8 | 델파이 xe 사용중 idHttp.post 한글 깨짐 문제 [2] | superman | 2012.05.09 | 19068 |
7 | Indy ftp 한글깨짐 질문 입니다 [8] | sdj | 2012.04.04 | 20975 |
6 | project 그룹 안의 bpl 간의 변수 공유에 대해 질문드립니다. [2] | 국카 | 2020.08.13 | 28006 |
5 | 모니터 2화면에서 프로그램 열리는 위치 지정가능하다면 방법은? [3] | 양현숙 | 2012.08.16 | 32106 |
4 | 제다이(Jedi) 컴포넌트 설치 방법을 알려주세요 [1] | 관리자 | 2012.04.05 | 43264 |
» | FireDac:다른hstmt의결과에 연결이 사용중입니다 라는 오류에 대해 [4] | jcijang | 2016.09.14 | 58570 |
2 | 구버전 설치시 시리얼번호 문의 [1] | DevCK | 2020.06.02 | 94998 |
1 | Delphi XE8 Loadlibrary를 이용한 VC++ dll 사용에 대한 문의드립니다. [1] | mir | 2015.12.24 | 219499 |
질문에 대한 답변 전에 한가지 안내를 먼저 드립니다.
FireDAC을 이용하시려면 직접 SQL Server를 연결하면 성능과 안정성이 더 좋습니다.
다음 링크를 참고하셔서 직접 SQL Server(MSSQL)에 연결하는 내용을 확인해보시기 바랍니다.
http://docwiki.embarcadero.com/RADStudio/Berlin/en/Connect_to_Microsoft_SQL_Server_(FireDAC)
=======
FireDAC ODBC 관련된 내용은 아래의 링크에서 참고하시기 바랍니다.
http://docwiki.embarcadero.com/RADStudio/Berlin/en/Connect_to_ODBC_Data_Source_(FireDAC)
마침 위 링크에서 아래와 같은 오류에 대한 대응방법이 설명되어 있습니다
오류: .
[FireDAC][Phys][ODBC][Microsoft][SQL Server Native Client 10.0]Connection is busy with results for another command.
대응방법:
For an ODBC MSSQL database, set the ODBCAdvanced FDConnection parameter value to
MARS_Connection=YES
. Otherwise, when you call the Open method of FDTable, you will receive the following error:FDConnection의 ODBCAdvanced 매개변수에 MARS_Connection=YES로 설정해보시기 바랍니다.