1
TGIS_LayerVector l_exportlayer= new TGIS_LayerVector();// Existing Shape
TGIS_Extent currentextent = l_exportlayer.Extent;
string l_LayerName = l_exportlayer.Name;
TGIS_LayerSqlAdoNet l_LayerSqlAdoNet = new TGIS_LayerSqlAdoNet();
l_LayerSqlAdoNet.Extent = currentextent;
l_LayerSqlAdoNet.set_SQLParameter("Layer", l_LayerName);
l_LayerSqlAdoNet.set_SQLParameter("Dialect", "MSSQL");
l_LayerSqlAdoNet.set_SQLParameter("Storage", "NATIVE");
l_LayerSqlAdoNet.set_SQLParameter("Provider", "System.Data.SqlClient");
string l_ConnectionString = "Integrated Security=SSPI;Persist Security Info=True;User ID=" + l_UserName + ";Password=" + l_PassWoord + ";Initial Catalog=" + l_CatalogName+ ";Server=" + l_DBDataSource + ";MultipleActiveResultSets=True";
l_LayerSqlAdoNet.set_SQLParameter("ADONET", l_ConnectionString);
l_LayerSqlAdoNet.MultiUserMode = TGIS_MultiUser.gisMultiUser;
l_LayerSqlAdoNet.CS = l_exportlayer.CS;                            
l_LayerSqlAdoNet.ImportLayer(l_exportlayer, currentextent, l_exportlayer.DefaultShapeType, "", false);

My Error: 0085 Can not connect to SQL based layer: River; 'ADODB, Version=2.8.0.0, Culture=neutral, PublicKeyToken=302eadf9da8cb9fe' could not load file or assembly or one of its dependencies. The system can not find the file specified.

Thank you for your help.

Overlock
  • 128
  • 7
  • 1
    Giving sensible names to the variables would make reading your code a lot easier. Anyway, the message says it all. For whatever reason, you program wants the ADO 2.8 library. Since this is *not* required by ADO.NET, I suspect your code uses OLEDB somewhere else. Are you trying to load a ShapeFile using OLEDB perhaps? – Panagiotis Kanavos Dec 15 '14 at 13:36
  • Did you find any solution Overlock? I have the same problem. – Muhammed Tanriverdi Apr 30 '15 at 12:41

1 Answers1

2

There are additional files in a Deployment folder (typically in \Program Files (x86)\TatukGIS\NDK10\Deployment) and deploy into bin file Interop\bin\ADODB.dll

Nedums
  • 36
  • 2