5***@gmail.com
2007-10-20 15:11:20 UTC
I am using <BerkeleyDb For Net 0.95>, version 4.5. It runs well under
32bit Windows. I also download BerkeleyDB 4.5 version C codes and
compile by Microsoft visual studio 2005 and change the target platform
X64, then libdb45.dll 64bit file of 1100k. The libdb45.dll file of
32bit is 840k.
Now, I want to set up C# project by using BerkeleyDb on 64bit
window2003. When I use 32bit libdb45.dll, the system gives a warning:
Exception from HRESULT: OX8007000B. This is normal. But when I use
64bit libdb45.dll, the system says "try to access the protected
memeory. I follow up it and found: using(DB db=new
Db(DbCreateFlags.None)). After following into this function, it is
evp=db.GetEvp(); of SetOwnerDatabase function of Env object. Following
it, it goes to dbp->GetEnv(dbp); At last it goes to
"return(GetEnvFcn)Marshal.GetdelegateForFunctionPointer(get_env,
typeof(GetEnvFcn));.
Is it a problem from Net components or com components? Does the
pointer point to the wrong memory? Is there someone who can help me?
Thanks!
32bit Windows. I also download BerkeleyDB 4.5 version C codes and
compile by Microsoft visual studio 2005 and change the target platform
X64, then libdb45.dll 64bit file of 1100k. The libdb45.dll file of
32bit is 840k.
Now, I want to set up C# project by using BerkeleyDb on 64bit
window2003. When I use 32bit libdb45.dll, the system gives a warning:
Exception from HRESULT: OX8007000B. This is normal. But when I use
64bit libdb45.dll, the system says "try to access the protected
memeory. I follow up it and found: using(DB db=new
Db(DbCreateFlags.None)). After following into this function, it is
evp=db.GetEvp(); of SetOwnerDatabase function of Env object. Following
it, it goes to dbp->GetEnv(dbp); At last it goes to
"return(GetEnvFcn)Marshal.GetdelegateForFunctionPointer(get_env,
typeof(GetEnvFcn));.
Is it a problem from Net components or com components? Does the
pointer point to the wrong memory? Is there someone who can help me?
Thanks!