2012-04-30 6 views
0

내 컴퓨터에 MQ 클라이언트 (7.0.1)를 설치하고 원격 Websphere MQ 서버에 연결하기 위해 C#을 사용하여 응용 프로그램을 작성합니다. 내 프로젝트에 참조 인 amqmdnet.dll이 있습니다. 연결이 내 연결입니다. 코드 :MQ 클라이언트 MQ 서버에 연결

MQEnvironment.Host = ip address;

MQEnvironment.Channel = channel name; 
MQEnvironment.Port = 1414; 
MQQueueManager qmgr = new MQQueueManager("qm name"); 

그러나 새로운 MQQueueManager()가 'IBM.WMO.MQ.QueueManager'에 대한 유형 초기화 프로그램을 던집니다. 예외에 대해 매우 혼란 스럽습니다. 도와 주시겠습니까?

답변

1

예외의 전체 스택 추적을 제공 할 수 있습니까? 클래스 인스턴스의 작성이 실패하면 유형 초기화 프로그램 예외가 발생합니다. 이 예외는 기본적으로 내부 예외에 대한 래퍼입니다. 따라서 내부 예외에 대한 세부 사항을 알고 있으면 도움이됩니다. MQQueueManager qmgr = new MQQueueManager("qm name");try/catch 블록에 넣고 완전한 예외를 인쇄 할 수 있습니다.

이 예외는 일반적으로 WMQ 클라이언트 라이브러리가 설치되어 있지 않은 경우에 발생합니다. amqmdnet 어셈블리는 다른 WMQ 라이브러리 (예 : amqxcs2.dll)를 나타내며 설치되지 않은 경우이 예외가 발생할 수 있습니다.

dspmqver -a 명령 출력을 사용하여 설치된 것을 확인할 수 있습니다.

+0

답장을 보내 주셔서 대단히 감사합니다.이 문제는 저를 혼란 시켰습니다. 이제 다시 작동하고 아무것도하지 않습니다. "amqmdnet 어셈블리는 다른 WMQ 라이브러리 (예 : amqxcs2.dll)를 참조합니다."라고 확신합니까? 그것에 대해? 왜냐하면 IBM의 MQ 문서에서, 나는 amqmdnet.dll가 amqmdxcs.dll을 참조한다는 것을 알고 있습니다. 그리고 나는 단지 내 프로젝트에서 amqmdnet.dll을 참조하고 같은 디렉토리에 amqmdnet.dll과 amqmdxcs.dll을 넣습니다. –

+0

예, 프로젝트에서 amqmdnet.dll 만 참조하면됩니다. amqmdnet의 종속 라이브러리가 자동으로로드됩니다. – Shashi