환영합니다. Windows Mobile 6에 Firebird 2.5.2 데이터베이스 (Visual Studio 2008 및 Forms 사용)에 연결하는 응용 프로그램을 작성하려고합니다.'System.Data.Common.DbTransaction'형식이 참조되지 않은 어셈블리에 정의되어 있습니다. 어셈블리에 대한 참조를 추가해야합니다.
static public void Execute(FbTransaction tr, string sql, bool commit)
{
FbConnection cn = null;
FbCommand cmd = null;
if (tr != null)
{
cmd = new FbCommand(sql, tr.Connection, tr);
}
else
{
cn = new FbConnection(ConnString());
cmd = new FbCommand(sql, cn);
}
if (cmd.Connection.State == ConnectionState.Closed)
{
cmd.Connection.Open();
}
cmd.ExecuteNonQuery();
cmd.Dispose();
if (cn != null)
{
cn.Close();
cn.Dispose();
}
}
내가 (실행 강조)
오류 1 유형 'System.Data.Common.DbTransaction'는 어셈블리에 정의되어있는 차선의 1에 오류 : 나는이 코드 조각을 썼다 그것은 참조되지 않습니다. 'System.Data, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089'어셈블리에 대한 참조를 추가해야합니다.
내 참조에 System.Data 버전 2.0.0.0이 추가되었습니다. 어떤 도움을 주시면 감사하겠습니다.
나는 해결책을 발견했다. 앞으로 비슷한 문제에 직면하게 될 사람들을 위해, 여기에 내가 어떻게했는지 들어 보겠습니다. VS 2008 (.net 3.5) 및 firebird 2.5.2 (최신)에서 64 비트 Windows 양식을 사용하려면, 당신이해야 할 첫 번째 일은, 파이어 버드 임베디드 승리 X 64 패키지를 http://www.firebirdsql.org/en/firebird-2-5-2-upd1/
다음을 다운로드 날이 한 일에 대해 (유 코드 VS2010에 이상 최신 버전을 시도하는 경우), .NET 공급자의 소스 코드 버전에 갈 입니다 http://sourceforge.net/projects/firebird/files/firebird-net-provider/2.5.2/
열기, 구성 관리자에서 x64 아래에 컴파일하십시오. 특정 .net 버전의 System.Data에 대한 참조를 추가해야합니다.
이제 원하는 Winform 프로젝트를 만들고 단계에서 다운로드 한 임베드 된 Firebird 패키지의 모든 .dll을 포함하십시오. 1 내가 NETProvider-2.5.2-SRC \ NETProvider \ 소스 \ FirebirdSql \ 데이터 \ 빈 \ \ 내 에 있었다
이 새로 컴파일 FirebirdSql.dll에 대한 참조를 추가합니다 (프로젝트의 루트 디렉토리에 기존 항목 추가) x64 \ Debug \ FirebirdSql.Data.FirebirdClient.dll
그리고 즐기십시오. 보너스 - 지역 파이어 버드 서버>
문자열 경로는 프로젝트의 파이어 버드 .NET 공급자를 참조 적이 나를
string Firebird_path = "User=SYSDBA;Password=masterkey;" +
"Database=localhost:L:\\DBS\\DBS.FDB; " +
"DataSource=localhost;Charset=NONE;";
DbTransaction은 어디에 사용합니까? 게시 한 코드에서 찾을 수 없습니다. – dave
.Net Framework 버전을 사용하고 있습니까? DbTransaction은 2.0 이후의 모든 버전에서 지원되어야하지만, 결코 알지 못합니다. – hschne
.Net 3.0을 사용하고 있으며, 어떤 시점에서도 DbTransaction을 사용하지 않습니다. – Luntri