async public Task <bool> SetConnectionString(string value) { _connStr = value; if (value == null) { return(false); } while (_connStr.IndexOf(";;") != -1) { _connStr = _connStr.Replace(";;", ";"); } _dsname = ConfigTextStream.ExtractValue(value, "dsname"); _addedLayers.Clear(); foreach (string layername in ConfigTextStream.ExtractValue(value, "layers").Split('@')) { if (layername == "") { continue; } if (_addedLayers.IndexOf(layername) != -1) { continue; } _addedLayers.Add(layername); } if (_fdb == null) { _fdb = new SqlFDB(); } _fdb.DatasetRenamed += new gView.DataSources.Fdb.MSAccess.AccessFDB.DatasetRenamedEventHandler(SqlFDB_DatasetRenamed); _fdb.FeatureClassRenamed += new gView.DataSources.Fdb.MSAccess.AccessFDB.FeatureClassRenamedEventHandler(SqlFDB_FeatureClassRenamed); _fdb.TableAltered += new gView.DataSources.Fdb.MSAccess.AccessFDB.AlterTableEventHandler(SqlFDB_TableAltered); await _fdb.Open(_connStr); return(true); }
static int Main(string[] args) { string server = "", database = "", uid = "", pwd = "", dataset = "", imageSpace = "database"; string connectionString = ""; bool delExisting = true; bool imagedataset = false; for (int i = 0; i < args.Length; i++) { if (args[i] == "-server") { server = args[++i]; } if (args[i] == "-uid") { uid = args[++i]; } if (args[i] == "-pwd") { pwd = args[++i]; } if (args[i] == "-database") { database = args[++i]; } if (args[i] == "-ds") { dataset = args[++i]; } if (args[i] == "-imagedataset") { imagedataset = true; } if (args[i] == "-imagespace") { imageSpace = args[++i]; } if (args[i] == "-connectionstring") { connectionString = args[++i]; } } if (((server == "" && database == "") && connectionString == "") || dataset == "") { Console.WriteLine("USAGE:"); Console.WriteLine("gView.Cmd.CreateSqlFDBDataset -server <Filename> -database <Database> OR -connectionstring <ConnectionString>"); Console.WriteLine(" -ds <Datasetname>"); Console.WriteLine(" [-uid <User> -pwd <Password> -imagedataset -imagespace <Image Space Directory (Database)>]"); return(1); } try { if (connectionString == "") { connectionString = "server=" + server + ";database=" + database; if (uid != "") { connectionString += ";uid=" + uid + ";pwd=" + pwd; } else { connectionString += ";Trusted_Connection=True"; } } SqlFDB fdb = new SqlFDB(); if (!fdb.Open(connectionString)) { Console.WriteLine("\n\nERROR: " + fdb.lastErrorMsg); return(1); } //SpatialReference sRef = new SpatialReference(); ISpatialIndexDef sIndexDef = new gViewSpatialIndexDef(); if (imagedataset) { if (fdb.CreateImageDataset(dataset, null, sIndexDef, imageSpace, null) < 1) { fdb.Dispose(); Console.WriteLine("\n\nERROR: " + fdb.lastErrorMsg); return(1); } } else { if (fdb.CreateDataset(dataset, null, sIndexDef) < 1) { fdb.Dispose(); Console.WriteLine("\n\nERROR: " + fdb.lastErrorMsg); return(1); } } fdb.Dispose(); Console.WriteLine(server + @"\" + database + ": Dataset " + dataset + " created..."); return(0); } catch (Exception ex) { Console.WriteLine("\n\nERROR: " + ex.Message); return(1); } }
static void Main(string[] args) { #region Parse Parameters for (int i = 0; i < args.Length; i++) { switch (args[i]) { case "-add": if (job != jobs.unknown) { Console.WriteLine("Can't do more than one job. Run programm twice..."); return; } job = jobs.add; break; case "-clean": if (job != jobs.unknown) { Console.WriteLine("Can't do more than one job. Run programm twice..."); return; } job = jobs.removeUnexisting; break; case "-truncate": if (job != jobs.unknown) { Usage(); Console.WriteLine("Can't do more than one job. Run programm twice..."); return; } job = jobs.truncate; break; case "-s": connectinString = args[++i]; break; case "-db": dbType = args[++i].ToLower(); break; case "-provider": provider = args[++i].ToLower(); break; case "-fn": if (rootPath != String.Empty) { Usage(); Console.WriteLine("Filename OR Rootdirectory..."); return; } fileName = args[++i]; break; case "-rd": if (fileName != String.Empty) { Usage(); Console.WriteLine("Filename OR Rootdirectory..."); return; } rootPath = args[++i]; break; case "-f": Filters = args[++i]; break; } } #endregion #region Check Parameters if (connectinString == String.Empty) { Usage(); Console.WriteLine("No connection string..."); return; } switch (job) { case jobs.removeUnexisting: case jobs.truncate: break; case jobs.add: if (fileName == String.Empty && (rootPath == String.Empty || Filters == String.Empty)) { Usage(); Console.WriteLine("No file or rootdirectory and filter defined..."); return; } break; case jobs.unknown: Usage(); Console.WriteLine("No job defined..."); return; } #endregion DateTime dt = DateTime.Now; string mdb = ConfigTextStream.ExtractValue(connectinString, "mdb"); string dsname = ConfigTextStream.ExtractValue(connectinString, "dsname"); string connStr = ConfigTextStream.RemoveValue(connectinString, "dsname"); IFeatureDataset ds = null; if (mdb != String.Empty) { AccessFDB fdb = new AccessFDB(); fdb.Open(connStr); IFeatureDataset dataset = fdb[dsname]; if (dataset == null) { Console.WriteLine("Error opening dataset: " + fdb.lastErrorMsg); return; } //dataset.ConnectionString = connectinString; if (!dataset.Open()) { Console.WriteLine("Error opening dataset: " + dataset.lastErrorMsg); return; } ds = dataset; } else if (dbType == "sql") { SqlFDB fdb = new SqlFDB(); fdb.Open(connStr); IFeatureDataset dataset = fdb[dsname]; if (dataset == null) { Console.WriteLine("Error opening dataset: " + fdb.lastErrorMsg); return; } //dataset.ConnectionString = connectinString; if (!dataset.Open()) { Console.WriteLine("Error opening dataset: " + dataset.lastErrorMsg); return; } ds = dataset; } else if (dbType == "postgres") { pgFDB fdb = new pgFDB(); fdb.Open(connStr); IFeatureDataset dataset = fdb[dsname]; if (dataset == null) { Console.WriteLine("Error opening dataset: " + fdb.lastErrorMsg); return; } //dataset.ConnectionString = connectinString; if (!dataset.Open()) { Console.WriteLine("Error opening dataset: " + dataset.lastErrorMsg); return; } ds = dataset; } else if (dbType == "sqlite") { SQLiteFDB fdb = new SQLiteFDB(); fdb.Open(connStr); IFeatureDataset dataset = fdb[dsname]; if (dataset == null) { Console.WriteLine("Error opening dataset: " + fdb.lastErrorMsg); return; } //dataset.ConnectionString = connectinString; if (!dataset.Open()) { Console.WriteLine("Error opening dataset: " + dataset.lastErrorMsg); return; } ds = dataset; } IRasterFileDataset rds = null; if (provider == "gdal") { rds = PlugInManager.Create(new Guid("43DFABF1-3D19-438c-84DA-F8BA0B266592")) as IRasterFileDataset; } else if (provider == "raster") { rds = PlugInManager.Create(new Guid("D4812641-3F53-48eb-A66C-FC0203980C79")) as IRasterFileDataset; } Dictionary <string, Guid> providers = new Dictionary <string, Guid>(); if (rds != null) { foreach (string format in rds.SupportedFileFilter.Split('|')) { string extension = format; int pos = format.LastIndexOf("."); if (pos > 0) { extension = format.Substring(pos, format.Length - pos); } providers.Add(extension, PlugInManager.PlugInID(rds)); Console.WriteLine("Provider " + extension + ": " + rds.ToString() + " {" + PlugInManager.PlugInID(rds).ToString() + "}"); } } if (providers.Count == 0) { providers = null; } switch (job) { case jobs.truncate: Truncate(ds, dsname + "_IMAGE_POLYGONS"); break; case jobs.removeUnexisting: RemoveUnexisting(ds); CalculateExtent(ds); break; case jobs.add: if (fileName != String.Empty) { if (!ImportFiles(ds, fileName.Split(';'), providers)) { if (!continueOnError) { return; } } } else if (rootPath != String.Empty && Filters != String.Empty) { if (!ImportDirectory(ds, new DirectoryInfo(rootPath), Filters.Split(';'), providers)) { if (!continueOnError) { return; } } } CalculateExtent(ds); break; } Console.WriteLine("\n" + ((TimeSpan)(DateTime.Now - dt)).TotalSeconds + "s"); Console.WriteLine("done..."); }
async private void btnOK_Click(object sender, EventArgs e) { try { Cursor = Cursors.WaitCursor; SqlFDB fdb = new SqlFDB(); if (CreateFromMDF && MdfFilename != String.Empty) { await fdb.Open(ConnectionString); if (!fdb.Create(txtDatabase.Text, MdfFilename)) { MessageBox.Show(fdb.LastErrorMessage, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } else { await fdb.Open(ConnectionString); UserData parameters = _advancedSettings.ToUserData(); if (btnOnlyRepository.Checked) { parameters.SetUserData("CreateDatabase", false); } if (!fdb.Create(txtDatabase.Text, parameters)) { MessageBox.Show(fdb.LastErrorMessage, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (chkCreateReplicationDatamodel.Checked == true) { if (!await gView.Framework.Offline.Replication.CreateRelicationModel(fdb)) { MessageBox.Show("RepliCreateRelicationModel failed:\n", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } if (chkCreateConnection.Checked) { string connStr = FullConnectionString; ConfigTextStream stream = new ConfigTextStream("sqlfdb_connections", true, true); string id = txtObject.Text; stream.Write(FullConnectionString, ref id); stream.Close(); _resultExObject = new SqlFDBExplorerObject(null, id, FullConnectionString); } this.Close(); } catch (Exception ex) { MessageBox.Show("FATAL ERROR: " + ex.Message); } finally { Cursor = Cursors.Default; } }
static int Main(string[] args) { string server = "", uid = "", pwd = "", database = "", mdf = String.Empty; UserData userData = new UserData(); for (int i = 0; i < args.Length - 1; i++) { if (args[i] == "-server") { server = args[++i]; } if (args[i] == "-uid") { uid = args[++i]; } if (args[i] == "-pwd") { pwd = args[++i]; } if (args[i] == "-database") { database = args[++i]; } if (args[i] == "-mdf") { mdf = args[++i]; } if (args[i].StartsWith("-_")) { userData.SetUserData(args[i].Substring(2, args[i].Length - 2), args[++i]); } } if (server == "" || database == "") { Console.WriteLine("USAGE:"); Console.WriteLine("gView.Cmd.CreateSqlFDB -server <SQL Server Instance>"); Console.WriteLine(" -database <Database Name>"); Console.WriteLine(" [-uid <User>]"); Console.WriteLine(" [-pwd <Password>]"); Console.WriteLine(" [-mdf <mdf_file_path>"); Console.WriteLine(" [-_Parametername <parameter>]"); Console.WriteLine("Example:"); Console.WriteLine("CreateSqlFDB -server localhost -database NEW_FDB -_filename c:\\myDatabase.mdf -_size 300 -_filegrowth 50"); return(1); } // Path setzen, damit in fdb.Create die createdatabase.sql gefunden wird... /* * if (SystemVariables.RegistryApplicationDirectory != "") * { * SystemVariables.ApplicationDirectory = SystemVariables.RegistryApplicationDirectory; * } */ string connectionString = "server=" + server; if (uid != "") { connectionString += ";uid=" + uid + ";pwd=" + pwd; } else { connectionString += ";Trusted_Connection=True"; } SqlFDB fdb = new SqlFDB(); if (!fdb.Open(connectionString)) { Console.WriteLine("ERROR :" + fdb.lastErrorMsg); fdb.Dispose(); return(1); } if (!String.IsNullOrEmpty(mdf)) { if (!fdb.Create(database, mdf)) { Console.WriteLine("ERROR :" + fdb.lastErrorMsg); fdb.Dispose(); return(1); } } else { if (userData.UserDataTypes.Length > 0) { Console.WriteLine("CREATE DATABASE " + database + " ON PRIMARY (NAME=" + database + ","); foreach (string type in userData.UserDataTypes) { Console.WriteLine(type + "="); if (type.ToLower() == "filename") { Console.WriteLine("'" + userData.GetUserData(type) + "'"); } else { Console.WriteLine(userData.GetUserData(type)); } } Console.WriteLine(")"); } if (!fdb.Create(database, userData)) { Console.WriteLine("ERROR :" + fdb.lastErrorMsg); fdb.Dispose(); return(1); } } fdb.Dispose(); Console.WriteLine("...done"); return(0); }