gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 14:19:26 31 4
gpt4 key购买 nike

我似乎无法从示例 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();
}
}
}

问题是,它产生了一个

server type=Embedded;user id=SYSDBA;password=masterkey;dialect=3;initial catalog=D:!tmp\1 \cafw.fdb;character set=WIN1251;client library=fbembed.dll

No message for error code 335544972 found.

Invalid ESCAPE sequence

作为输出。

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

有没有人遇到过类似的事情,所以有人可以告诉我我做错了什么?

谢谢。

更新:正如所建议的那样,我试图简化我的连接字符串。所以,我没有使用上面的方法,而是使用了

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

它给了我一条消息“嵌入式 Firebird 不支持受信任的身份验证”。所以,我尝试使用常规的 sysdba 登录

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

得到了完全相同的错误信息。

最佳答案

奇怪的东西。

很难相信,但我能说出的唯一原因是我的 c# 解决方案位于 d:......\c#\myAppProject 中的某个地方(是的,都是关于 # 符号的)。

替换项目后,一切正常。

关于c# - 从 C# 应用程序问题连接到嵌入式 FireBird 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2659822/

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