【问题标题】:Firebird connection DB_E_ERRORSOCCURRED(0x80040E21)火鸟连接 DB_E_ERRORSOCCURRED(0x80040E21)
【发布时间】:2025-12-26 21:45:11
【问题描述】:

我使用火鸟数据库。和 C# 连接使用 Oledb。我的服务运行我的 localhost 但将连接字符串 localhost 更改为 Ip 地址不连接错误。错误描述为 DB_E_ERRORSOCCURRED(0x80040E21)

Web.Config 代码

<?xml version="1.0"?>
<configuration>
  <appSettings/>

  <system.web>
    <compilation debug="true" targetFramework="4.5"/>

    <authentication mode="Windows"/>

    <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>
  </system.web>
<connectionStrings>
    <add name="baglantiCumlesi"        
         connectionString="Provider=LCPI.IBProvider.3;Data Source=DEDEDE; Location=E:\Publish\Data\B2C.FDB; Integrated Security=True; User Instance=True ctype=WIN1254; Persist Security Info=True; auto_commit=True; auto_commit_level=4096;dbclient_library=fbclient.dll; dbclient_type=fb2.0; Trusted_Connection=yes; connection reset=false; connection lifetime=0; enlist=true; min pool size=1; max pool size=100; User ID=SYSDBA; Password=masterkey;" 
         providerName="System.Data.OleDb"
    />
</connectionStrings>
</configuration>

C#代码

string baglantiCumlesi = ConfigurationManager.ConnectionStrings["baglantiCumlesi"].ConnectionString;

OleDbConnection baglanti = new OleDbConnection(baglantiCumlesi);
            baglanti.Open();

            string sorgu = "SELECT P.ADISOYADI, UNVANI, T.DAHILI ,'<a href=mailto:'||EMAIL||'>'||EMAIL||'</a>' AS EMAIL"+
                           " FROM PERSONEL P"+
                           " LEFT JOIN TELELINK L ON L.INTERNAL = P.PERSONEL_NO"+
                           " AND L.SINTERNAL = 'PERS' AND L.VARSAYILAN = 'E'"+
                           " LEFT JOIN TELEFONL T ON T.TELEFON_NO = L.TELEFON_NO"+  
                           " WHERE WEB_AKTIF = 'E' AND PERSONEL_NO > 0 AND BLOKE = 'H'"+
                           " ORDER BY PERSONEL_KODU";

我使用调试错误点 sorgu。

http://i61.tinypic.com/2lapopv.png

【问题讨论】:

  • oledberr.h 中我看到了错误 DB_E_ERRORSOCCURRED 的此文本:多步 OLE DB 操作生成错误。检查每个 OLE DB 状态值(如果可用)。没有完成任何工作。
  • 感谢评论,但运行本地主机我不明白这个错误。将位置更改为 localhost running 但此状态未运行
  • 你为什么要使用 OleDB?为什么不使用 Firebird .Net Provider?
  • 如果很多用户会使用这个程序,我有连接错误
  • 哪些错误?可以发一下吗?

标签: c# asp.net web-services connection firebird


【解决方案1】:

我终于开始运行了 :) 更改连接字符串并运行。

Provider=LCPI.IBProvider.3; Data Source=DEDEDE;
                Location=DEDEDE:E:\Publish\Data\B2C.FDB;ctype=WIN1254; Persist Security Info=True; 
                    auto_commit=True; auto_commit_level=4096;dbclient_library=fbclient.dll; dbclient_type=fb2.0; Trusted_Connection=yes;
                connection reset=false;connection lifetime=0; enlist=true; min pool size=1; max pool size=100;User ID=SYSDBA; Password=masterkey

【讨论】:

    【解决方案2】:

    看来,您的原始连接字符串包含错误:

    "用户实例=True >>>; ctype=WIN1254"

    :)

    【讨论】: