2014-02-06 9 views
2

저는 최근 프로젝트에서 SQLite를 대체 할 수있는 제품으로 Firebird Embedded를 조사하고있었습니다. 문제는 Windows와 Linux 모두에서 동일한 응용 프로그램을 사용할 수 있기를 원합니다. 불행히도 SQLite는 불가능합니다.Mono 및 Firebird 임베디드 리눅스에서 작업하기

아직도 Mono로 Linux에서 Firebird를 실행할 수 없습니다 (아직 Windows를 사용해 보지 않았습니다).

상황은 내가했던 :

  1. 는 NuGet에서 Firebird ADO.NET Provider를 설치했습니다.
  2. 32 bit embedded client for Windows libraries를 다운로드 및 내 bin 디렉토리에 압축을 푼 : fbembed.dll, firebird.cfg, firebird.msg, ib_util.dll, icudt30.dll, icuin30.dll, icuuc30.dll. fbembed.dll 경로에없는 것을,

    string fbConnectionString = String.Format ("ServerType=1;User=SYSDBA;" + Password=masterkey;Dialect=3;Database={0};Charset=UTF8", _dbFile); 
    FbConnection.CreateDatabase (fbConnectionString); 
    
  3. 아직도 다음과 같은 에러가 발생합니다

  4. 가와의 연결 문자열을 만들었습니다.

어떻게해야합니까?

답변

3

Firebird .NET 공급자는 주로 Windows 플랫폼 용으로 개발되었습니다. 유선 프로토콜 구현은 Mono와 Linux에서 작동하므로 일반적인 Firebird 서버에 연결할 수 있습니다.

Firebird Embedded 용 fbembed.dll 라이브러리는 Windows에만 해당되며 Linux에는로드 할 수 없습니다. .NET provider code은 Linux를 지원하지만 Linux 용으로 특별히 컴파일해야하는 것처럼 보입니다. NuGet 패키지가 Windows 및 Embedded에 대한 지원과 함께 컴파일 된 기본 버전이라고 가정합니다.

+0

그건 제가 두려워하는 것입니다. 그래서 SQLite입니다. 명확하게 해 주셔서 감사합니다. – moskalak

+0

@moskalak http://tracker.firebirdsql.org/browse/DNET –

+1

에 기능 요청으로 추가 할 수 있습니다. .NET 클라이언트는'libbbed '를'fbembed'와 같은 방식으로로드 할 수 있습니다. –