天天看點

SDE操作的許可問題問題描述解決問題參考文章

ArcGIS二次開發和ArcGIS桌面應用中,許可是一個老生常談的問題。以前也小結過一些經驗。參考:

<a href="http://www.cnblogs.com/liweis/p/4185311.html">http://www.cnblogs.com/liweis/p/4185311.html</a>

直接來先看報錯的代碼:

這是很普通的連接配接Sql Server SDE的代碼操作,

  

經測試SDE連接配接參數正常,可在Open方法時,報錯"The Product License has not been initialized"(産品許可未初始化),程式是用代碼初始化許可的,運作綁定Desktop,産品許可類别是Advanced(進階版)

在相同的環境下,另外一套程式又可以,比較兩者的不同,似乎與MapControl控件存在某種關聯,經反複測試,得出以下結果:使用AO的sample作對比,隻要是先拖放MapControl控件,代碼就不會報許可問題(先拖放許可、或不拖MapControl都不行)。

暫時是解決了這個問題,我們姑且認為是10.4的bug,雖然沒有使用MapControl,但也拖放了這個控件(隐藏)。

我一直在想,既然它都能報這個錯,肯定不是什麼bug,而不是我們不知道錯在哪裡,經過一番測試,最終于不是通過許可方式解決它了。即在代碼初始化許可是除了添加Advanced許可,還添加了ArcServer許可。

SDE操作的許可問題問題描述解決問題參考文章

<a href="http://gis.stackexchange.com/questions/2090/product-license-not-initialized-error-when-trying-to-open-an-sde-connection-in-a">http://gis.stackexchange.com/questions/2090/product-license-not-initialized-error-when-trying-to-open-an-sde-connection-in-a</a>

<a href="http://resources.arcgis.com/en/help/arcobjects-net/componenthelp/index.html">http://resources.arcgis.com/en/help/arcobjects-net/componenthelp/index.html#/LicenseInitializer/004800000005000000/</a>