<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Times New Roman","serif";
        color:windowtext;
        font-weight:normal;
        font-style:normal;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=EN-US link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal><span style='color:#1F497D'>How did you applied schema ? You
mention feature and non-feature class ? You applied Autodesk schema , metadata
tables?<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>In King.Oracle for Oracle Table
to become available as FDO class the table has to be in sdo_geom_metadata . You
did that ?<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>Of 'course Oracle user you are
using to connect has to see those tables etc...<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>Haris<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<div>
<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>
<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
fdo-internals-bounces@lists.osgeo.org
[mailto:fdo-internals-bounces@lists.osgeo.org] <b>On Behalf Of </b>Thomas
Knoell<br>
<b>Sent:</b> Wednesday, June 10, 2009 8:42 PM<br>
<b>To:</b> fdo-internals@lists.osgeo.org<br>
<b>Subject:</b> [fdo-internals] King Oracle Issue<o:p></o:p></span></p>
</div>
</div>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:10.0pt;font-family:"Times New Roman","serif"'>Hi,<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:10.0pt;font-family:"Times New Roman","serif"'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:10.0pt;font-family:"Times New Roman","serif"'>I
am working on a FDO based application that should use the King Oracle Provider
to connect to a data source on an Oracle 11g instance. The application
currently connects fine to an empty data store (the data store does not contain
any tables) and successfully applies a test schema that consists of a feature
and a non feature class. The problem arises in the following step where a
describe schema request is executed. In this case, the result is one schema
named <i>KingOra</i> and no classes. I expected the test schema and its
corresponding classes being reported.<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:10.0pt;font-family:"Times New Roman","serif"'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:10.0pt;font-family:"Times New Roman","serif"'>The
application has access to all the DLLs that come with FDO. The DLLs were created
by compiling the projects from the trunk in release mode. Due to the fact that
I use MS Visual Studio C++ 2008 Express Edition, I had to open each solution
and compile it separately as some of the projects referenced MFC files that are
not available with the Express Edition. Those issues were corrected in the
shadow and all builds succeeded. <o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:10.0pt;font-family:"Times New Roman","serif"'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:10.0pt;font-family:"Times New Roman","serif"'>Besides
the changes to eliminate MFC references, one additional change was required in
the King Oracle provider project in that the references to Oracle 10 libs were
replaced by the corresponding Oracle 11 ones. <o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:10.0pt;font-family:"Times New Roman","serif"'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:10.0pt;font-family:"Times New Roman","serif"'>Using
the command <i>built.bat –c=release –a=install –o=c:\FdoHome</i> on the FDO and
ThirdParty directory, all DLLs were copied into the specified folder and hence
made accessible to the FDO application.<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:10.0pt;font-family:"Times New Roman","serif"'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:10.0pt;font-family:"Times New Roman","serif"'>The
providers.xml file was modified to include the following statement for the King
Oracle Provider:<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:10.0pt;font-family:"Times New Roman","serif"'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:9.0pt;font-family:"Courier New"'>
<FeatureProvider><o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:9.0pt;font-family:"Courier New"'>
<Name>King.Oracle.3.5</Name> <o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:9.0pt;font-family:"Courier New"'>
<DisplayName>King Provider for Oracle</DisplayName> <o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:9.0pt;font-family:"Courier New"'>
<Description>Read/write access to spatial and attribute data
in an Oracle Spatial.</Description> <o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:9.0pt;font-family:"Courier New"'>
<IsManaged>False</IsManaged> <o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:9.0pt;font-family:"Courier New"'>
<Version>3.5.0.0</Version> <o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:9.0pt;font-family:"Courier New"'>
<FeatureDataObjectsVersion>3.5.0.0</FeatureDataObjectsVersion>
<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:9.0pt;font-family:"Courier New"'>
<LibraryPath>.\KingOracleProvider.dll</LibraryPath> <o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:9.0pt;font-family:"Courier New"'>
</FeatureProvider><o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:10.0pt;font-family:"Times New Roman","serif"'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:10.0pt;font-family:"Times New Roman","serif"'>I
did perform some debugging on the code. When following the statement that
retrieves the schema name (see code below), I noted that it does not hit the
function that implements the retrieval of the schema name but ends up in the
function <i>FdoCollection::GetCount()</i> (file <i>FDO\Unmanaged\Inc\Common\Collection.h</i>).
However, following other requests like the apply schema execute or the describe
schema execute call, the correct functions are hit and executed. I also did
some dependency checks on some DLLs and executables and nothing missing was
reported.<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:10.0pt;font-family:"Times New Roman","serif"'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:10.0pt;font-family:"Times New Roman","serif"'>I
assume that this may be just a simple setup issue but after trying multiple
things now, I reached a point where I am not sure what to try next. If someone
has any suggestions I would appreciate the feedback. Also, if there are
additional questions, please let me know.<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:10.0pt;font-family:"Times New Roman","serif"'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:10.0pt;font-family:"Times New Roman","serif"'>Thanks<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:10.0pt;font-family:"Times New Roman","serif"'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:10.0pt;font-family:"Times New Roman","serif"'>
Thomas<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:10.0pt;font-family:"Times New Roman","serif"'><o:p> </o:p></span></p>
<div style='border:none;border-bottom:double windowtext 2.25pt;padding:0in 0in 1.0pt 0in'>
<p class=MsoNormal><span lang=EN-CA style='font-size:10.0pt;font-family:"Times New Roman","serif"'><o:p> </o:p></span></p>
</div>
<p class=MsoNormal><span lang=EN-CA style='font-size:10.0pt;font-family:"Times New Roman","serif"'><o:p> </o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'>
FdoPtr<FdoIDescribeSchema> describe_schema_cmd = <o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'>
(FdoIDescribeSchema*) fdo_connection->CreateCommand(<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'>
FdoCommandType_DescribeSchema);<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'>
FdoFeatureSchemasP schema_collection = describe_schema_cmd->Execute();<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'>
FdoInt32 schema_count = schema_collection->GetCount();<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'>
if (schema_count == 0)<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'>
printf(" -> No schemas found \n");<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'>
else<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'>
for (int s = 0; s < schema_count; s++) {<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'><o:p> </o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'>
FdoFeatureSchemaP curr_schema = schema_collection->GetItem(s);<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'>
FdoStringP curr_schema_name = curr_schema->GetName();<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'>
printf(" -> Schema[%d]: %ls \n", s, (FdoString *)curr_schema_name);<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'>
FdoPtr<FdoClassCollection> curr_schema_classes =<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'>
curr_schema->GetClasses();<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'>
FdoInt32 curr_schema_class_count = curr_schema_classes->GetCount();<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'>
if (curr_schema_class_count == 0)<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'>
printf(" -> No classes found for current schema
\n");<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'>
else <o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'>
for (int sc = 0; sc < curr_schema_class_count; sc++) {<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'><o:p> </o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'>
FdoPtr<FdoClassDefinition> curr_schema_class =<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'>
curr_schema_classes->GetItem(sc);<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'>
FdoStringP curr_schema_class_name = curr_schema_class->GetName();<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'>
printf(" -> Class[%d]: %ls \n",<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'>
sc,<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'>
(FdoString *)curr_schema_class_name);<o:p></o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'><o:p> </o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'>
} <span style='color:green'>// for (int sc = 0; ...<o:p></o:p></span></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New";color:green'><o:p> </o:p></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-CA
style='font-size:9.0pt;font-family:"Courier New"'>
} <span style='color:green'>// for (int s = 0; ...<o:p></o:p></span></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:10.0pt;font-family:"Times New Roman","serif"'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-CA style='font-size:10.0pt;font-family:"Times New Roman","serif"'><o:p> </o:p></span></p>
</div>
</body>
</html>