응용 프로그램 충돌을 이야기 할 때 oracle 지 않는 실행 파일 경로 포함되어 공간

StackOverflow https://stackoverflow.com/questions/239622

  •  04-07-2019
  •  | 
  •  

문제

우리는 x 파일에 문제가 있습니다.인터넷 응용 프로그램.거나,오히려,하이브리드 Win32 다.인터넷 응용 프로그램.

와 통신하려고 할 때 오라클,그것은 그냥 죽습니다.사라진다.간 큰 블랙에서 무효로 하늘.이벤트 로그 메시지도 예외 없이 아무것도 아니다.

면 우리는 단순히 물을 이야기 할 수있는 응용 프로그램을 MS SQL 서버를 대신하는 효과를 갖는 교체 사용법의 OracleConnection 및 관련 클래스와렇게 하려면 다음과 같이와 관련 클래스를,그것은 예상대로 작동합니다.

오늘 우리가 돌파구를했다.

어떤 이유로 고객이 알아낸 것을 배치하여 모든 응용 프로그램 디렉토리에 있는 파일에서 자신의 바탕 화면,그것을 일으로 예상되는 Oracle 니다.이 디렉토리 아래로 드라이브 루트를,또는 C: emp 또는,잘의 주위에,비트로 만든 충돌을 다시 나타납니다.

기본적으로 100%reproducable 는 응용 프로그램 일을 실행하는 경우 디렉토리에서 바탕 화면에서,그리고 실패했에서 실행하는 경우 디렉토리 루트입니다.

오늘 우리가 생각한 것이 차이가 계산되었는 어떠했는가 있었 공간 디렉토리에서 이름이 나지 않습니다.

그래서,이러한 디렉터리를 작동:

C:\Program Files\AppDir\Executable.exe
C:\Temp Lemp\AppDir\Executable.exe
C:\Documents and Settings\someuser\Desktop\AppDir\Executable.exe

반면 이러한 것이 아닙니다:

C:\CompanyName\AppDir\Executable.exe
C:\Programfiler\AppDir\Executable.exe      <-- Program Files in norwegian
C:\Temp\AppDir\Executable.exe

나는 누군가가 이것을 읽는 보이 비슷한 동작하고"아하,당신은 트위의 frob oracle 화려 드라이버 구성"또는 이와 유사한.

누구?


후속 1 위: Ok,I've 처리 procmon 출력을 지금,두 파일에서 사용하는 버튼을 열려고 시도하는 창 트리거 캐스케이드,실패는 것은 그들을 추적분,거기에 몇 가지 작은 차이점 근처의 최고 두 파일을 모두 그들은 그들을 추적 긴 방법이다.

그러나,하나는 실행이 실패하면 다른 일 유지하고 다음 몇 줄의 로그 출력은 이러한:

ReadFile C:\oracle\product\10.2.0\db_1\BIN\orageneric10.dll    SUCCESS    Offset: 274 432, Length: 32 768, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O
ReadFile C:\oracle\product\10.2.0\db_1\BIN\orageneric10.dll    SUCCESS    Offset: 233 472, Length: 32 768, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O

이 후,작업 실행가 계속 실행하고,다른 터치 mscorwks.dll 파일에는 몇 시간 전에 스레드를 닫고 응용 프로그램이 닫힙니다.따라서 실패를 실행하지 않는 터치 위에 파일이 있습니다.


후속#2: 생각했던 업그레이드하려고 오라클 클라이언트 드라이버지만,10.2.0.1 은 분명히 가장 높은 버전을 사용 가능한 윈도우 2003 서버 및 XP 클라이언트입니다.


후속#3: 음,우리는 우리가 결국 블랙-박스 솔루션입니다.기본적으로 우리가 발견되는 문제가 어딘가에 관련된 XPO Oracle 등이 있습니다.XPO 시스템-테이블을 관리하라고 XPObjectType,세 열:Oid,형태와 이름.으로 인해 어떻게 구성된 오라클 데이터베이스에서 우리는 이야기를,열 이름 OID,형태와 이름.이것은 일반적으로 문제가 되지 않는 것을 제외하고,자유롭게 회담 스키마에 정보를 직접 확인하는 경우 테이블이 오른쪽으로 열 이름,그리고 XPO 처리하지 않는 경우 차이 그래서 그것을보고 XPObjectType 테이블의 세 가지는 알 수 없는 열고 그들의 아무도 그것을 기대합니다.

정확히 무엇 엑스포는 지금 난 정말 모르겠지만,나는 나를 떨어 이 테이블,그리고 다시 오른쪽으로 케이스를 사용하여,주위에 쌍따옴표는 모든 열 이름을 얻는 경우는 바로,문제가 없는 자.

정확한 공간에서 폴더 이름으로 이런 아직도 아무 생각도 없다,그러나 이 문제는 두 개의 층:

  1. 응용 프로그램을 중지에서 충돌에서 우리의 고객이,단기 해결책
  2. 버그를 수정하고,장기 솔루션

지금 tier1 결,계층 2 넣어 것입니다 지금 우선적으로 적용됩니다.우리가 직면하고 있는 몇 가지 더 큰 변화는 우리의 데이터 계층 어쨌든 그렇게 이 되지 않을 수도 있습니다 문제는 우리가 필요한 해결하기 위해 적어도 모든 경우 오라클 우리의 고객에게 확인하는 테이블 수정을 실제로 제거하는 문제입니다.

나는 받아들이 대답하여 Dave 뉴스와 다양한 제품 정보를 만나보세 때문에 비록 과정을 모니터링(동의 파일을 모니터링)지 않은 실제로 정확하게 문제,나는 그것을 사용할 수 있는지 확인 한 후 내점에 사용자 코드 XPO 구축에 대한 쿼리를 이 테이블은 I/O 이 일어났을 때까지 모든 항목에 대한 응용 프로그램을 닫는 아래로 로그온한,주도 나를 믿었고 이 테이블은 범죄자,또는 적어도 영향을 받는 문제는 어떻게든.

면을 관리하여 보다 나은 서비스를 제공해 드릴 수의 원인이겠 업데이트합니다.

도움이 되었습니까?

해결책

여기에 내가 무엇을 할 것 이다.첫째,트리플 확인하는 것을 보고 계신의 행동을 생각합니다.나는 볼 수 있습니다 이 일어나는 다른 방법으로 사용하지 않는 시스템입니다.IO.경로를 연결하는 경로,하지만 당신이 볼 수 없도록 할 수 있습니다.트리플 확인하는 파일의 권한입니다.

다운로드 Filemon MS 고 시계에 무슨 일이 일어나고 있는지에 대한 파일 시스템으로 프로그램이 이러한 문제점.필터링할 수 있습 특정 파일 작업(를 제거하는 안티 바이러스 파일의 활동이,예를 들어)을 보면 모든 것을 만들기 작업을 하는 동안 이다.보 파일에 대한 액세스를 사용하여 오류 FileMon 모두 성공 사례 및 오류 사례에 대한 귀하의 프로그램입니다.해야 하는 시점에 당신을 어떤 파일에 액세스하고 문제를 일으킬 수 있습니다.예를 들어,당신 FILE_NOT_FOUND 오류에 액세스하는 난센스 파일이름을 확신할 수 있다는 당신이 또는 공급업체는 뭔가 잘못하고,아마도 당신의 문제는...

다른 팁

당신은 아마를 재현할 수 있는지 확인 문제는 그것으로는 간단한 응용 프로그램만을 열려고 하는 연결을 Oracle.할 수 있습니다 그런 식으로는 100%확실하는 문제입니다 OracleConnection 또는 Oracle 드라이버지와 자신의 코드입니다.

해야 합 메달을 얻을 위해 인내한다.

"정확하게 엑스포는 지금 내가 없 정말로 알지만,나는 나이 떨어 테이블,그리고 다시는 그것으로 바로 경우 큰 따옴표를 사용하여 주변 열 이름을 얻은 경우 바로,문제가 없는 자.

정확한 공간에서 폴더 이름,이것으로 아직도 아무 아이디어"

문제를 받을 공간에서 이름이 그들은 일반적으로 해석 조금 전에 공간으로 이름을하고 나머지 부분을 매개 변수로 사용할 수 있습니다.는 경우,다음과 평 그것의 이름을 볼 수 있습니다"C emp"그리고 디렉토리에 있습니다.와 이격된 이름을 가져옵"C:\Program Files",외"C:\Program"그리고는 존재하지 않습니다.그것이 실패하는,예를 들면,덮어 쓰기"C: emp"그러나 성공에 쓰기"C:\Program".궁금해지는 여전히 실패하고"C:\Program "파일이 있는 경우는 파일이나 디렉토리라"C:\Program"

Id 의심되 오라클 클라이언트가 정직하다.문제가 있었던 비슷한에서의 실망이다.

우리가 설치되는 64 비트 컴퓨터에서 클라이언트에서 중지를 시작할 때 연결하 oracle 도 응용 프로그램은 32 비트입니다.우리는 결국 아는 사실을 특정 오라클 클라이언트(Ora10 에 문제가 있었 괄호 안에서 경로를 그렇게 프로그램에서 실행되는 프로그램으로 파일에서 작동 program files(x86)해 충돌이 발생합니다.업데이트 기계 사용하면 11G 클라이언트 문제를 해결 하지만 거기에 몇 가지 헝겊 조각에서 사용할 수 있는 메타 링크되지 않고 바로 사용이 가능합니다.무슨 이상한 귀하의 경우에는 예외는 아니다 하지만 행동에의 응용 프로그램을 이동하는 새로운 폴더의 문제를 해결에 비슷한 방법으로 할 수 있도록 관련이 있습니다.

ORA-12154:TNS:해결할 수 없는 연결한 식별자를 지정 나 ORA-6413:연결이 열리지 않습니다.

유용한 링크 http://blogs.msdn.com/debarchan/archive/2009/02/04/good-old-connectivity-issue.aspx

에서 세부 정보 메타 링크 아래.

메타 링크 버그 3807408 없이 외부에 사용자를 인증하는 견적에 사용자 이름

설명 는 경우 외부에서 인증된 사용자 이름을 포함'(',')'또는'=' 다음 사용자를 인증할 수 없습니다.또한다면 프로그램 경로와 파일이름을 포함 이러한 문자 그 가능하지 않을 수 있습을 연결합니다.예를 들어:Windows 클라이언트가 설치된 디렉토리에서"C:\Program Files(x86)" 연결이 실패로 ORA-12154:TNS:해결할 수 없는 연결한 식별자를 지정

의 특징이 이 문제는 그물 추적(16 레벨)을 보여줍니다 문제를 캐릭터/s 에 의해 대체에서"?"를 추적합니다.

해결 방법 인증을 위해 문제점:사용자 이름 변경, 나 를 사용하지 않 원격 OS 인증한 사용자

프로그램/directory 문제점:프로그램을 변경/디렉토리에 이름

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top