gpt4 book ai didi

c# - 类型 'System.Data.Common.DbTransaction' 在未引用的程序集中定义。您必须添加对程序集的引用

转载 作者:太空宇宙 更新时间:2023-11-03 13:22:32 25 4
gpt4 key购买 nike

欢迎。我正在尝试在连接到 Firebird 2.5.2 数据库(使用 visual studio 2008 和 Forms)的 Windows Mobile 6 上编写一个应用程序。我写了这段代码:

  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 道出现错误(突出显示的执行)

Error 1 The type 'System.Data.Common.DbTransaction' is defined in an assembly that is not referenced. You must add a reference to assembly '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 窗体,您需要做的第一件事是下载 Firebird EMBEDED win x 64 包 http://www.firebirdsql.org/en/firebird-2-5-2-upd1/

接下来,寻找 .NET 提供程序的源代码版本,对我来说就是这个(如果你在 VS2010 或更高版本中编写代码,请尝试更新的版本) http://sourceforge.net/projects/firebird/files/firebird-net-provider/2.5.2/

打开它,然后在配置管理器中在 x64 下编译它。 (记得为特定的.net版本添加System.Data的引用,我想我用的是2.0.0.0)

现在,创建您想要的 winform 项目,并包含您在步骤 1 中下载的嵌入式 Firebird 包中的所有 .dll(将现有项目添加到项目的根目录)

添加对您新编译的 FirebirdSql.dll 的引用,我在我的\NETProvider-2.5.2-src\NETProvider\source\FirebirdSql\Data\bin\x64\Debug\FirebirdSql.Data.FirebirdClient.dll

并享受。奖金 ->

本地 Firebird 服务器的字符串路径很棘手,所以这对我有用

     string Firebird_path = "User=SYSDBA;Password=masterkey;" +
"Database=localhost:L:\\DBS\\DBS.FDB; " +
"DataSource=localhost;Charset=NONE;";

最佳答案

您是否在项目中引用了 Firebird .NET Provider?

你可以找到它here .它也可以作为 NuGet 包添加。

关于c# - 类型 'System.Data.Common.DbTransaction' 在未引用的程序集中定义。您必须添加对程序集的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23676567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com