Search Mailing List Archives
[protege-discussion] MS SQL Server 2005 index maximum size exceededduring Project Conversion to ProtegeDB
rgostinski at gmail.com
Fri Jan 18 11:42:59 PST 2008
thanks a lot Jonathan, I had the same problem
2008/1/17, Jonathan Carter <jonathan.carter at e-asolutions.com>:
> I've just realised that where I said nvarchar(400), my SQL Server 2005
> database has actually created the 'short_value' column as an nvarchar(800).
> I'm not sure if this is the Micrsoft JDBC driver (version 1.2) or the
> database that's used such a column type. But you can see how quickly the
> index key would get beyond 900 bytes (SQL Server sums the columns used in
> the index to establish the required key length).
> *From:* protege-discussion-bounces at lists.stanford.edu [mailto:
> protege-discussion-bounces at lists.stanford.edu] *On Behalf Of *Jonathan
> *Sent:* 17 January 2008 17:01
> *To:* protege-discussion at lists.stanford.edu
> *Subject:* [protege-discussion] MS SQL Server 2005 index maximum size
> exceededduring Project Conversion to ProtegeDB
> Hi everyone,
> I've just tried to convert my project to the Protege Database
> (File->Convert Project to Format...) to use a Microsoft SQL Server2005
> database. I'm using Microsoft's JDBC driver v1.2 but am getting the
> following exception at the end of the conversion.
> " Exception class com.microsoft.sqlserver.jdbc.SQLServerException.
> Message: Operation failed. The index entry of length 1288 bytes for the
> index 'repositorylive_I2' exceeds the maximum length of 900 bytes."
> All of my project data is loaded into the table but it fails to create
> Index 2.
> This project works fine with MySQL but unfortunately, I need to use
> There's nothing I can do in SQLServer2005 to remove/raise the limit for
> the index size. The solution Microsoft suggest is "in SQL Server 2005, you
> can include nonkey columns in a nonclustered index to avoid the maximum
> index size of 900 bytes." Unfortunately, all the keys/indices etc are
> created by the Project Conversion code in Protege. Reading more from
> Microsoft, they discuss using an include statement, using the example of
> indexing on a nvarchar(400) column (which is what the 'short_value' column
> in the Protege DB is created as) as follows:
> Using the CREATE INDEX statement with an INCLUDE clause to include the
> nvarchar column without blowing the index size limit. e.g.
> CREATE INDEX IX_Document_Title
> ON Production.Document (Title, Revision)
> INCLUDE (Filename)
> where Filename is a nvarchar(400) column.
> I'm not at all sure about how you would do this using JDBC commands,
> Has anyone seen this before - I believe the limit also existed on previous
> versions of SQL Server - have any other suggestions?
> Thanks for your help
> Jonathan Carter - Head of Technical Architecture
> Enterprise Architecture Solutions Ltd
> Assess your EA maturity at:
> protege-discussion mailing list
> protege-discussion at lists.stanford.edu
> Instructions for unsubscribing:
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the protege-discussion