【发布时间】:2015-09-19 15:32:53
【问题描述】:
我在使用我的 asp.net 网络主机上嵌入的 firebird 时遇到问题。
在本地一切正常,但在网络上我有一个例外
System.Data.Entity.Core.EntityException:底层提供程序在打开时失败。 ---> FirebirdSql.Data.FirebirdClient.FbException:无法创建目录“C:\ProgramData\firebird\”。 OS errno 为 5 ---> FirebirdSql.Data.Common.IscException:无法创建目录“C:\ProgramData\firebird\”。操作系统 errno 为 5
我做了什么: - 复制 fbembed.dll 及其在 Bin 文件夹中的依赖项 - 也复制 firebird 配置文件并将根变量更改为绝对 Bin 路径 - 将我的数据库复制到 app_data 文件夹
我也像这样动态构建我的连接字符串
string p = "metadata=res://*/MyFBEmbedModel.csdl|res://*/MyFBEmbedModel.ssdl|res://*/MyFBEmbedModel.msl;provider=FirebirdSql.Data.FirebirdClient;provider connection string='client library=??fbembed??;initial catalog=|DataDirectory|D2015.gdb;user id=sysdba;password=masterkey;Connection lifetime = 0; Pooling = true; MinPoolSize = 0; MaxPoolSize = 500; Packet Size = 8192; ServerType = 1'";
string mslinepath = HttpContext.Current.Server.MapPath("Default.aspx");
mslinepath = Path.GetDirectoryName(mslinepath);
p = p.Replace("??fbembed??", mslinepath + @"\Bin\fbembed.dll");
context = new MyFBEntities(p);
欢迎任何帮助
【问题讨论】:
-
ps:我正在使用这个数据库进行只读访问,并且实例化第一个实体会导致此异常