<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic C++ error creating raster dataset in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/c-error-creating-raster-dataset/m-p/392857#M10480</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I am porting a plugin from 9.2 to 10.1 and am getting an error creating a raster dataset&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have written a test harness to reproduce the problem which is as follows:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;------------------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;
HRESULT ConnectToWorkspace(IWorkspacePtr &amp;amp;ipWork)
{
CComBSTR username = "username";
CComBSTR password = "password";
CComBSTR server = "servername";
CComBSTR instance = "5151";
CComBSTR database = "";
CComBSTR szVersion = "SDE.DEFAULT";

// Set connection properties
IPropertySetPtr ipPropertySet;
ipPropertySet.CreateInstance(CLSID_PropertySet);

ipPropertySet-&amp;gt;SetProperty(CComBSTR(L"SERVER"), CComVariant(server) );
ipPropertySet-&amp;gt;SetProperty(CComBSTR(L"INSTANCE"), CComVariant(instance) );
ipPropertySet-&amp;gt;SetProperty(CComBSTR(L"DATABASE"), CComVariant(database) );
ipPropertySet-&amp;gt;SetProperty(CComBSTR(L"USER"), CComVariant(username) );
ipPropertySet-&amp;gt;SetProperty(CComBSTR(L"PASSWORD"), CComVariant(password) );
ipPropertySet-&amp;gt;SetProperty(CComBSTR(L"VERSION"), CComVariant(szVersion));

// Create the workspace
IWorkspaceFactoryPtr ipWorkspaceFactory;
ipWorkspaceFactory.CreateInstance(CLSID_SdeWorkspaceFactory);
HRESULT hr = ipWorkspaceFactory-&amp;gt;Open(ipPropertySet, NULL, &amp;amp;ipWork);

return hr;
}

HRESULT CreateRasterDataset (IWorkspacePtr &amp;amp;ipWork, _bstr_t bstrRasterDatasetName)
{

IRasterWorkspaceExPtr ipRasterWorkspaceEx(ipWork);

// Raster dataset values
int iNumOfBands(1);
rstPixelType pixelType(PT_CHAR);
_bstr_t bstrKeyword(L""); // No keywords
IRasterDatasetPtr ipRasterDataset;

HRESULT hr = ipRasterWorkspaceEx-&amp;gt;CreateRasterDataset(bstrRasterDatasetName, iNumOfBands, pixelType,
NULL, bstrKeyword, NULL,
NULL, &amp;amp;ipRasterDataset);

return hr;
}

int _tmain(int argc, _TCHAR* argv[])
{
Initialise();

_bstr_t bstrRasterDatasetName(argv[1]);

IWorkspacePtr ipWorkspace;

HRESULT hr = ConnectToWorkspace(ipWorkspace); 
if(!SUCCEEDED(hr))
return hr;

hr = CreateRasterDataset(ipWorkspace, bstrRasterDatasetName);

if(SUCCEEDED(hr))
{
std::cout &amp;lt;&amp;lt; "SUCCESS!!" &amp;lt;&amp;lt; std::endl;
return 0;
}
else if (hr == FDO_E_SE_FAILURE)
std::cout &amp;lt;&amp;lt; "FDO_E_SE_FAILURE" &amp;lt;&amp;lt; std::endl;
else if (hr == FDO_E_SE_TABLE_EXISTS)
std::cout &amp;lt;&amp;lt; "FDO_E_SE_TABLE_EXISTS " &amp;lt;&amp;lt; bstrRasterDatasetName &amp;lt;&amp;lt; std::endl;
else if (hr == FDO_E_ITEM_WITH_PATH_EXISTS)
std::cout &amp;lt;&amp;lt; "FDO_E_ITEM_WITH_PATH_EXISTS " &amp;lt;&amp;lt; bstrRasterDatasetName &amp;lt;&amp;lt; std::endl;
else if (hr == SDE_E_SE_INVALID_IDENTIFIER)
std::cout &amp;lt;&amp;lt; "SDE_E_SE_INVALID_IDENTIFIER " &amp;lt;&amp;lt; bstrRasterDatasetName &amp;lt;&amp;lt; std::endl;
else 
std::cout &amp;lt;&amp;lt; "Error: " &amp;lt;&amp;lt; hr &amp;lt;&amp;lt; std::endl;

return hr;
}&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;SPAN&gt;-----------------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;It just keeps on returning FDO_E_SE_FAILURE&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;It is creating a table because if I call it twice with the same dataset name I get FDO_E_SE_TABLE_EXISTS&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Any help would be gratefully appreciated - I have been banging my head against this one for a week&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 04 Jul 2013 08:39:40 GMT</pubDate>
    <dc:creator>NeilLowey</dc:creator>
    <dc:date>2013-07-04T08:39:40Z</dc:date>
    <item>
      <title>C++ error creating raster dataset</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/c-error-creating-raster-dataset/m-p/392857#M10480</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I am porting a plugin from 9.2 to 10.1 and am getting an error creating a raster dataset&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have written a test harness to reproduce the problem which is as follows:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;------------------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;
HRESULT ConnectToWorkspace(IWorkspacePtr &amp;amp;ipWork)
{
CComBSTR username = "username";
CComBSTR password = "password";
CComBSTR server = "servername";
CComBSTR instance = "5151";
CComBSTR database = "";
CComBSTR szVersion = "SDE.DEFAULT";

// Set connection properties
IPropertySetPtr ipPropertySet;
ipPropertySet.CreateInstance(CLSID_PropertySet);

ipPropertySet-&amp;gt;SetProperty(CComBSTR(L"SERVER"), CComVariant(server) );
ipPropertySet-&amp;gt;SetProperty(CComBSTR(L"INSTANCE"), CComVariant(instance) );
ipPropertySet-&amp;gt;SetProperty(CComBSTR(L"DATABASE"), CComVariant(database) );
ipPropertySet-&amp;gt;SetProperty(CComBSTR(L"USER"), CComVariant(username) );
ipPropertySet-&amp;gt;SetProperty(CComBSTR(L"PASSWORD"), CComVariant(password) );
ipPropertySet-&amp;gt;SetProperty(CComBSTR(L"VERSION"), CComVariant(szVersion));

// Create the workspace
IWorkspaceFactoryPtr ipWorkspaceFactory;
ipWorkspaceFactory.CreateInstance(CLSID_SdeWorkspaceFactory);
HRESULT hr = ipWorkspaceFactory-&amp;gt;Open(ipPropertySet, NULL, &amp;amp;ipWork);

return hr;
}

HRESULT CreateRasterDataset (IWorkspacePtr &amp;amp;ipWork, _bstr_t bstrRasterDatasetName)
{

IRasterWorkspaceExPtr ipRasterWorkspaceEx(ipWork);

// Raster dataset values
int iNumOfBands(1);
rstPixelType pixelType(PT_CHAR);
_bstr_t bstrKeyword(L""); // No keywords
IRasterDatasetPtr ipRasterDataset;

HRESULT hr = ipRasterWorkspaceEx-&amp;gt;CreateRasterDataset(bstrRasterDatasetName, iNumOfBands, pixelType,
NULL, bstrKeyword, NULL,
NULL, &amp;amp;ipRasterDataset);

return hr;
}

int _tmain(int argc, _TCHAR* argv[])
{
Initialise();

_bstr_t bstrRasterDatasetName(argv[1]);

IWorkspacePtr ipWorkspace;

HRESULT hr = ConnectToWorkspace(ipWorkspace); 
if(!SUCCEEDED(hr))
return hr;

hr = CreateRasterDataset(ipWorkspace, bstrRasterDatasetName);

if(SUCCEEDED(hr))
{
std::cout &amp;lt;&amp;lt; "SUCCESS!!" &amp;lt;&amp;lt; std::endl;
return 0;
}
else if (hr == FDO_E_SE_FAILURE)
std::cout &amp;lt;&amp;lt; "FDO_E_SE_FAILURE" &amp;lt;&amp;lt; std::endl;
else if (hr == FDO_E_SE_TABLE_EXISTS)
std::cout &amp;lt;&amp;lt; "FDO_E_SE_TABLE_EXISTS " &amp;lt;&amp;lt; bstrRasterDatasetName &amp;lt;&amp;lt; std::endl;
else if (hr == FDO_E_ITEM_WITH_PATH_EXISTS)
std::cout &amp;lt;&amp;lt; "FDO_E_ITEM_WITH_PATH_EXISTS " &amp;lt;&amp;lt; bstrRasterDatasetName &amp;lt;&amp;lt; std::endl;
else if (hr == SDE_E_SE_INVALID_IDENTIFIER)
std::cout &amp;lt;&amp;lt; "SDE_E_SE_INVALID_IDENTIFIER " &amp;lt;&amp;lt; bstrRasterDatasetName &amp;lt;&amp;lt; std::endl;
else 
std::cout &amp;lt;&amp;lt; "Error: " &amp;lt;&amp;lt; hr &amp;lt;&amp;lt; std::endl;

return hr;
}&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;SPAN&gt;-----------------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;It just keeps on returning FDO_E_SE_FAILURE&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;It is creating a table because if I call it twice with the same dataset name I get FDO_E_SE_TABLE_EXISTS&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Any help would be gratefully appreciated - I have been banging my head against this one for a week&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jul 2013 08:39:40 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/c-error-creating-raster-dataset/m-p/392857#M10480</guid>
      <dc:creator>NeilLowey</dc:creator>
      <dc:date>2013-07-04T08:39:40Z</dc:date>
    </item>
  </channel>
</rss>

