473,394 Members | 1,645 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,394 software developers and data experts.

metadata operation failed (8013110E) : Database file is corrupt and may not be usable.

Hello All (This is being cross-posted to the C++ group),

I've started receiving the subject message during a compile of a C++
based interface module used in my C# based WebApp. This module exposes
some functions from our main Windows DLL to my web app. I get the same
error message whether I compile from the IDE or from our normal
command line based build process.

What database file does the message refer to?

Any help is appreciated.
-tomas

The full text of the build output is as follows:
------- COMPILE OUTPUT ----------------
Deleting intermediate files and output files for project 'MyProj',
configuration 'Debug|Win32'.
Compiling...
File1.cpp
AssemblyInfo.cpp
Generating Code...
Linking...
File1.obj : fatal error LNK1215: metadata operation failed (8013110E)
: Database file is corrupt and may not be usable.

Build log was saved at
"file://c:\Src800\tomasv\gui\webui\MyProj\Debug\BuildLog.h tm"
MyProj - 1 error(s), 0 warning(s)
------------ END OF OUTPUT --------

Nov 16 '05 #1
2 2499
Hi Tomas
In some other cases, this had to do with the order of #using<> statements
if you're including header files that also have #using<> statements). Make
sure you're not #using anything twice if you don't need to or at all if you
don't need it.

This usually happens because somehow the compiler puts
slightly different metadata in two modules for the same type. At link time,
when the metadata is merged, this error is emitted because the name for the
type is the same, but there is some discrepancy in the rest of the metadata
describing that type. The first thing I would look at are the command line
options used to compile the two modules, and then I would look at the
includes leading up to the definition of the type for the two modules. Both
of these things can sometimes affect the metadata for a type. If these
don't yield any clues, then I would use metainfo to dump the metadata for
the two object files, and look for the differences that way. Often this
will lead you back to the includes or the command line options

Mohamed Mahfouz
MEA Developer Support Center
ITworx on behalf of Microsoft EMEA GTSC

Nov 16 '05 #2
Thanks for your reply. But.....

This is an established project that has been compiling for several
months. So the order of the #using statements is not an issue in this
case.

My WebApp is a web-based front end for our standard Windows based
product. As I develop more dialogs (to match existing Windows
dialogs), I need to add some string wrappers to the strings available
to the Windows app. This is done through an enumeration in one of my
header files. For some reason, I can only add two more members to my
enumeration. Adding a third member causes the link error.

Creating a new enumeration does not ease the problem. I have even
tried adding an additional header file with no result.

Adding this statement into a class in a header that is included after
my string header solves all my problems:
static Dword const THIS_IS_JUNK = 1;

Why???

We had similar issues with the linker two years ago that related to
the number of "__gc struct" members allowed in a single header file
(no more than 16 "__gc struct" members were allowed in a single
header. This was acknowledged as a bug my MS and has since been
corrected.

I have not been able to identify the exact conditions that cause this
problem ( I have a fast-approaching deadline). But I have a
work-around. So for now, I will simply work around this and post any
insights at a later time.

Bottom line: buggy linker (again).

-tomas vera

On Sun, 05 Dec 2004 10:39:13 GMT, mo************@egdsc.microsoft.com
(Mohamoss) wrote:
Hi Tomas
In some other cases, this had to do with the order of #using<> statements
if you're including header files that also have #using<> statements). Make
sure you're not #using anything twice if you don't need to or at all if you
don't need it.

This usually happens because somehow the compiler puts
slightly different metadata in two modules for the same type. At link time,
when the metadata is merged, this error is emitted because the name for the
type is the same, but there is some discrepancy in the rest of the metadata
describing that type. The first thing I would look at are the command line
options used to compile the two modules, and then I would look at the
includes leading up to the definition of the type for the two modules. Both
of these things can sometimes affect the metadata for a type. If these
don't yield any clues, then I would use metainfo to dump the metadata for
the two object files, and look for the differences that way. Often this
will lead you back to the includes or the command line options

Mohamed Mahfouz
MEA Developer Support Center
ITworx on behalf of Microsoft EMEA GTSC


Nov 16 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Shashikant Khandelwak | last post by:
Hi ! I am trying to install oracle 9i Standard edition on a windows 2000 SP4 machine. I get through the entire installation up to running the Database Configuration Assistant. While it tries to...
1
by: Andrew Gniadek | last post by:
Hi, I'm creating a GUI using Windows Forms in C#. The application needs to call functions from a (unmanaged) C library. My solution is to create a managed C++ DLL that contains a wrapper class...
8
by: Gail Zacharias | last post by:
I am investigating the possibility of using pgsql as the database in an application. I have some unusual requirements that I'd like to ask you all about. I apologize in advance if my terminology is...
2
by: GoodDay | last post by:
MC++ application, I've got "LNK2022 error message... MyApp error LNK2022: metadata operation failed (8013118D) : Inconsistent method declarations in duplicated types(CMainFramel). (0x02000008). ...
0
by: | last post by:
Hi, I am using VS2003 .NET. I have a union in my files which is generated by YACC. I am getting the following errors while linking using link.exe(Microsoft (R) Incremental Linker Version...
0
by: Tomas Vera | last post by:
Hello All (This is being cross-posted to the C# group), I've started receiving the subject message during a compile of a C++ based interface module used in my C# based WebApp. This module exposes...
5
by: theyas | last post by:
Windows XP SP2 + Symantec AV + VS 2003 with .NET Framework 1.1 IIS won't load or run existing ASP.NET applications and VS can't create or load web projects (HTTP/1.1 500 Server Error). Event...
1
by: Laurent Lequenne | last post by:
Hello There, I just converted a VS 2003 C++ Project into VS 2005. I already made some changes in my headers files, has I had compilations errors with enums declarations. Now everything compiles...
7
by: Lisa | last post by:
I have an Access 2000 application that uses the following function to re-link my tables when I switch from my Current back end to a Dummy back end. I also use it to refresh my links. Function...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.