从C#应用程序连接到嵌入式FireBird数据库问题

问题描述:

我似乎遇到了从示例C#应用程序连接到嵌入式FireBird数据库的问题。这是我得到的。从C#应用程序连接到嵌入式FireBird数据库问题

static void Main(string[] args) 
    { 

     //Some constant parameters used to form up the connection string... 
     #region constant literals 
     const String User = "SYSDBA"; 
     const String Password = "masterkey"; 
     const String DBPath = "D:\\!tmp\\1\\cafw.fdb"; 
     const String DLLPath = @"fbembed.dll"; 
     const String Charset = "WIN1251"; 
     const int Dialect = 3; 
     #endregion 

     //I check whether we actually have a database file nearby 
     //and fbembed.dll. If we don't - we leave 
     if (File.Exists(DBPath) == true && File.Exists(DLLPath) == true) 
     { 
      //I form up a connection string out of literals I've declared above 
      FbConnectionStringBuilder CStr = new FbConnectionStringBuilder(); 

      CStr.ServerType = FbServerType.Embedded;     
      CStr.UserID = User; 
      CStr.Password = Password;     
      CStr.Dialect = Dialect;     
      CStr.Database = DBPath; 
      CStr.Charset = Charset;         
      CStr.ClientLibrary = DLLPath; 

      //And then I finally try to connect 
      FbConnection Conn = new FbConnection(CStr.ToString());     

      try 
      { 
       //See what we've got in the end 
       Console.WriteLine(CStr.ToString()); 
       //And try to connect 
       Conn.Open(); 
      } 
      catch (Exception Ex) 
      { 
       //Show me what has gone wrong 
       Console.WriteLine("\n" + Ex.Message.ToString()); 
       Console.ReadKey(); 
      } 
      finally 
      { 
       Conn.Close(); 
      } 
     } 
    } 

的问题是,它产生了我

服务器类型=嵌入式;用户ID = SYSDBA;密码= masterkey;方言= 3;初始目录= d:TMP \ 1 \ cafw.fdb;字符集= WIN1251;客户端库= fbembed.dll

没有找到错误代码335544972的消息。

作为输出无效ESCAPE序列

我搜索了大约335544972错误代码,它似乎是关于无效连接字符串的东西,但我还没有找到任何有关“官方”的信息。

Hase有人遇到过类似的东西,所以人们可以告诉我我做错了什么?

谢谢。

UPD: 由于它已被建议,我试图简化我的连接字符串。因此,而不是做了什么上面我用

FbConnection Conn = new FbConnection("Database=D:\\tmp\\1\\cafw.fdb;ServerType=1"); 

,它给我的信息是“可信验证不支持嵌入式火鸟”。所以,我试图使用常规的sysdba登录

FbConnection Conn = new FbConnection("Database=D:\\tmp\\1\\cafw.fdb;ServerType=1;User=SYSDBA;Password=masterkey"); 

并得到了非常相同的错误消息。

奇怪的东西。

很难相信,但我唯一能说出这个名字的唯一原因是我的c#解决方案驻留在d:...... \ c#\ myAppProject(是的,全部是关于#号)的地方。

我更换了项目后,所有工作都正确。

我知道这是不是你的答案,但它是我,所以..

你必须确保你提供一个用户,即使他们并不需要(任何密码都可以)密码。