2009-11-26 4 views
-1

나는 이상한 문제가 있습니다. 저는 firebird 1.5.6 .NET 공급자 및 Visual Studio 2005 프로젝트를 진행하고있었습니다. 모든 것이 잘 작동했습니다. 그런 다음 프로젝트를 VS2008 프로젝트로 변환했습니다.VS2005에서 VS2008로 프로젝트를 변환 한 후 Firebird 연결 오류가 발생했습니다.

Index was out of range. Must be non-negative and less than the size of the collection. 
Parameter name: index. 

오류가 나는 연결을 열 것 같이 보여줍니다 지금은 내가 파이어 버드 데이터베이스에 연결하려고 해요 때이 오류가 발생하는 문제가있다. server type = Default에서이 오류가 발생하지만 server type = Embedded을 설정하면 연결을 열 수 있습니다.

다른 프로젝트에서 내 프로젝트를 실행하려고했는데 작동합니다.

무엇이 문제 일 수 있습니까?

+0

이 오류 스택 추적을 가지고 있습니까? –

+0

최신 2.5.1 .net 공급자를 사용해 보셨습니까? http://www.firebirdsql.org/index.php?op=files&id=netprovider –

+0

@Douglas Tosi. 예, 2.5.1 .NET 공급자를 사용하고 있습니다. – Jooj

답변

0

아마도 article을 읽으면 도움이 될 것 같습니까?

희망이 도움이됩니다.

0

이것은 스택 추적 오류입니다.

at System.Collections.ArrayList.get_Item(Int32 index) 
    at FirebirdSql.Data.Client.Managed.Version10.GdsDatabase.GetServerVersion() 
    at FirebirdSql.Data.Client.Managed.Version10.GdsDatabase.Attach(DatabaseParameterBuffer dpb, String dataSource, Int32 port, String database) 
    at FirebirdSql.Data.FirebirdClient.FbConnectionInternal.Connect() 
    at FirebirdSql.Data.FirebirdClient.FbConnectionPool.Create() 
    at FirebirdSql.Data.FirebirdClient.FbConnectionPool.CheckOut() 
    at FirebirdSql.Data.FirebirdClient.FbConnection.Open() 
    at DbAccess.Connect() in D:\Appi\Connection.cs:line 87 

그리고 라인 87 :

   ... 
       conn.Open(); 
       ... 

내가 정말 무엇을 해야할지 모르겠어요.

+0

이상하게도 서버가 서버 버전 문자열을 반환하지 않는 것 같습니다. 이 파이어 버드 버전은 무엇입니까? 업데이트를 시도 했습니까? –

+0

해결했습니다. 문제는 Windows를 다시 시작해야 FB 서버를 수동으로 다시 시작해야한다는 것입니다. 이유를 모르겠지만이 문제를 해결했습니다. – Jooj

1

Interbase에 연결할 때도 이와 같은 오류가 발생합니다. 수정했습니다.

  1. 다운로드 소스 코드 NETProvider-2.6.5-src.7z
  2. 편집 파일 GdsDatabase.cs 대체 라인 return this.GetDatabaseInfo(items, IscCodes.BUFFER_SIZE_256)[0].ToString();

    ArrayList ar = this.GetDatabaseInfo(items, IscCodes.BUFFER_SIZE_256); if (ar.Count > 0) return ar[0].ToString(); else return String.Empty;

  3. 재 구축 프로젝트

완료

관련 문제