2013-04-14 2 views
1

하루 종일이 문제의 해결 방법을 찾고 있었지만 작동하는 솔루션을 찾을 수 없습니다. 기본적으로 Visual Studio를 통해 Access 데이터베이스에 연결하고 있는데 Access 데이터베이스를 사용하는 이유가 있지만 갑자기 연결되지 않습니다. 이제 데이터베이스 연결을 추가하려고 할 때마다 "지정되지 않은 오류"가 나타납니다. 여기서 MSDN을 읽고 Visual Studio를 다시 설치했지만 아무것도 작동하지 않는 것 같습니다. "데이터베이스 탐색기"로 가서 데이터베이스 액세스로 변경하고 파일을 찾은 다음 "연결 테스트"/ "확인"을 누르면 오류가 표시됩니다. 그것은 특정 파일도 아니며 모든 사람에게 일어나고 있습니다.Visual Studio VB.NET 데이터베이스 탐색기 "지정되지 않은 오류"

아이디어가 있으십니까? 정말 도움이 필요합니다.

답변

1

일부의 생각 :

  • 프로젝트가 명시 적으로 64 또는 anycpu를을 86 코드를 대상으로하고 있지 않은지 확인.
    액세스 Jet (.mdb)는 32 비트에서만 작동하며 새 .accdb 데이터베이스 형식의 ACE를 사용하는 경우 드라이버의 32 비트 버전을 사용하고있을 가능성이 큽니다.
    32 비트 및 64 비트 코드 및 데이터베이스 드라이버를 혼합 할 수 없으며 모든 것이 일관성이 있는지 확인하십시오.

  • 설치가 손상되었을 수 있습니다.
    다른 컴퓨터에서 동일한 단계를 수행 할 수 있고 VS-DOS를 다시 설치해야 할 수도 있습니다 (먼저 ACE driver을 다시 설치하여 문제가 해결되는지 확인하십시오).

+1

이것은 해결되었지만 100 % 확실하지는 않습니다. 이 시점에서, 그것은 여전히 ​​작동하지 않을 것입니다 (: 확실히 플랫폼을 만들기 위해 검사 1) 명시 적으로 86 2)에 다시 설치 ACE 드라이버 12.0 3)을 다시 시작 컴퓨터를, 참고 VS 다시 시작 설정 : 여기 내 단계는 있었다 매우 실망 스럽습니다. 4) 솔루션 탐색기에서 마우스 오른쪽 단추로 기존 항목 추가를 선택하고 데이터베이스를 선택하십시오. 어떤 이유로 든 액세스가 허용됩니다. 5) 솔루션 익스포터에 추가 된 삭제 된 데이터베이스 및 데이터 세트 6) 데이터베이스 탐색기로 돌아가서 모든 것이 잘 작동합니다! 새로운 드라이버와 바보 같은 조합! –

+0

후속 조치 : 문제가 지속되었습니다. 그러나 실제 문제는 Windows 시작시 시작되는 SQL 인스턴스와의 충돌이라고 생각합니다. 작업 관리자로 가서 sqlwrite 및 sqlserver 프로세스를 종료하면 Visual Studio는 데이터베이스 탐색기를 통해 연결합니다. –

+0

@ JohnGalt 그래서 문제는 Access 자체와는 아무 관련이 없지만 VS와 SQL Server 인스턴스 간의 다른 충돌과 관련이있는 것 같습니다. 어떤 SQL Server 버전을 설치 했습니까? 어떤 경우에는 일부 SQL Server DLL이 VS에서 예상 한 DLL을 대체하고 이상한 동작을 일으키는 것으로 보입니다. [Visual Studio 데이터베이스 도구 오류] [http://social.msdn.microsoft.com/Forums/en-US/vstsdb/thread/d65c71f5-3887-4f2a-bbd3-e799a4ac6fdc /]에서 MSDN 포럼을 방문하십시오. –

0

데이터베이스에 액세스하는 코드 블록 주위에 try/catch를 놓고 반환되는 오류 정보를 확인하십시오.

Try 
    'Your code here 
Catch ex as exception 
    msgbox(ex.Message) 
Finally 
    'any code you want here like close connections etc 
End Try 

당신이 좀 더 정보가 있으면 "지정되지 않은 오류는"많은 말을하거나 당신이 일이 될 수있는 것을 볼 그래서 그 어려운 코드를 게시하지 않기 때문에, 여기에 게시. 도움이 될 수

0

나는 또한 단지 MS 액세스에 연결하는 내 VSB2013에이 발생한 2013 년

나는 또한이 어떻게 안정적는 것

주를 작동하는 이유는 충분히 이해가 안 비트 해결 - 120 ish 레코드를 순환 할 때 문제가 발생합니다. 프로세스는 다음 레코드 - 프로세스 읽기 - 다음 레코드 읽기 등. 레코드는 비슷하며 레코드를 처리하기 위해 다른 데이터베이스 읽기가 필요합니다. 레코드/사이클 79에서 지정되지 않은 오류가 발생하지만 레코드는 매우 유사합니다. 로 MSGBOX 삽입) WORKS - 내 조사에서

나는 아래 작품의 3합니다 (120ish 사이클 즉, 오류없이 발생) 발견 -하지만 분명 처음 2 디버그 만

해결 방법 1입니다 루프 - 메시지 상자에 처리 할 사이클 번호와 레코드 키가 표시됩니다.

솔루션 2 - WORKS) 서식있는 텍스트 상자에 동일한 텍스트를 Cr/Lf로 추가하는 줄이 msgbox로 바뀌 었습니다.

해결 방법 3 - WORKS) RTB 업데이트를 Threading.Thread.Sleep (15) 줄로 바 꾸었습니다. 잠자기 시간을 밀리 초 단위로 조정하면 15 이상이 내 코드에서 일관되게 작동한다는 것을 알 수 있습니다. 9 이하의 값은 일관되게 실패합니다.10에서 14 사이의 값은 일관성없는 결과를 나타냅니다.

다른 말로하면, sleep 메서드는 다른 이벤트와 가비지 수집을 허용하는 루프를 일시 중단한다고 말할 수 있습니다. VB6까지 사용했던 DoEvents와 비슷합니다.

내가 아는만큼. 감사합니다. Geoff