1
我使用下面的代码来创建一个Berkeley DB的,但我在最后一行收到错误:如何使用.Net创建伯克利数据库?
为“BerkeleyDB.Internal.libdb_csharpPINVOKE”的类型初始值引发异常。
代码:
Dim DB As DatabaseEnvironment
Dim Config As DatabaseEnvironmentConfig
Config = New DatabaseEnvironmentConfig
Config.Create = True
DB = DatabaseEnvironment.Open("d:\database.db", Config)
有谁知道我做错了吗?
我使用VB快递2010与.NET Framework 4.0
完整的堆栈:
System.TypeInitializationException: The type initializer for 'BerkeleyDB.Internal.libdb_csharpPINVOKE' threw an exception. --->
System.TypeInitializationException: The type initializer for 'SWIGStringHelper' threw an exception.
System.DllNotFoundException: Unable to load DLL 'libdb_csharp61': Le module spécifié est introuvable.
(Exception from HRESULT: 0x8007007E) at BerkeleyDB.Internal.libdb_csharpPINVOKE.SWIGStringHelper.SWIGRegisterStringCallback_libdb_csharp(SWIGStringDelegate stringDelegate)
at BerkeleyDB.Internal.libdb_csharpPINVOKE.SWIGStringHelper..cctor()
in C:\carol\db-6.1.23\lang\csharp\src\Internal\libdb_csharpPINVOKE.cs:line 29
--- End of inner exception stack trace ---
at BerkeleyDB.Internal.libdb_csharpPINVOKE.SWIGStringHelper..ctor()
at BerkeleyDB.Internal.libdb_csharpPINVOKE..cctor()
in C:\carol\db-6.1.23\lang\csharp\src\Internal\libdb_csharpPINVOKE.cs:line 33
--- End of inner exception stack trace ---
at BerkeleyDB.Internal.libdb_csharpPINVOKE.new_DB_ENV(UInt32 jarg1)
at BerkeleyDB.Internal.DB_ENV..ctor(UInt32 flags)
in C:\carol\db-6.1.23\lang\csharp\src\Internal\DB_ENV.cs:line 276
at BerkeleyDB.DatabaseEnvironment..ctor(UInt32 flags)
in C:\carol\db-6.1.23\lang\csharp\src\DatabaseEnvironment.cs:line 174
at BerkeleyDB.DatabaseEnvironment.Open(String home, DatabaseEnvironmentConfig cfg)
in C:\carol\db-6.1.23\lang\csharp\src\DatabaseEnvironment.cs:line 2705
at WindowsApplication1.Form1.Form1_Load(Object sender, EventArgs e)
in C:\Documents and Settings\Steven\Local Settings\Application Data\Temporary Projects\WindowsApplication1\Form1.vb:line 13"
欢迎来到堆栈溢出!与论坛网站不同,我们不使用“谢谢”或“任何帮助表示赞赏”,或在[so]上签名。请参阅“[应该'嗨','谢谢',标语和致敬从帖子中删除?](http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be从这个帖子中删除) –
运行这个帐户的帐户可以访问该文件夹吗? –
每当你询问一个未处理的异常时,你应该发布完整的异常,你可以通过将它复制到调试器中的剪贴板来实现,或者如果你没有使用调试器,你可以(暂时)在你的代码中放一个try/catch:'try {/ *你的代码* /} catch(Exception ex){Console.WriteLine(ex.ToString()); Console.ReadLine(); throw;}'或者使用'MessageBox.Show(ex.ToString())'或者等价物,只要发布'ex.ToString()'的结果。 –