<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:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc="http://microsoft.com/officenet/conferencing" xmlns:D="DAV:" xmlns:Repl="http://schemas.microsoft.com/repl/" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda="http://www.passport.com/NameSpace.xsd" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss="http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi="http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi="http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp="http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" xmlns:Z="urn:schemas-microsoft-com:" xmlns:st="" 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: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'>For the debugging issue, look to
see if the pdb files that are loaded are the up to date for the dlls you are
using. <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 2: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>