[fdo-users] OSGeo.PostgreSQL.3.5 Provider Create Schema
Haris Kurtagic
haris at sl-king.com
Wed Jun 9 05:24:49 EDT 2010
haven't used Postgre provider, but from error desc perhaps issue is in
missing geometry column in class def.
Haris
On Wed, Jun 9, 2010 at 11:19 AM, hanko
<hana.jaborova at spatialtechnology.se> wrote:
>
>
>
> Hi all,
> I'm using the FDO to connect to PostGIS 1.5 ("OSGeo.PostgreSQL.3.5")
> I have created a new postgis database 'gisdb' with ICreateDataStore command
> .
>
> When I'm trying to create a new simple Feature Schema without geometry I get
> an exception
>
> Message "ShipSysSchema has errors; cannot apply it "
> InnerException {"Error in Column
> gisdb.public.geography_columns.f_geography_column: length or precision 0 is
> less than minimum allowed (1) "} System.Exception
> {OSGeo.FDO.Common.Exception}
>
> This problem is solved if I delete 'geography_columns' view in database.
>
> Function:
>
> public void CreateSchema()
> {
> IConnectionPropertyDictionary connProperties =
> FDOConnection.ConnectionInfo.ConnectionProperties;
> connProperties.SetProperty("Username", _userPostGIS);
> connProperties.SetProperty("Password", _passwordPostGIS);
> connProperties.SetProperty("Service", _servicePostGIS);
> connProperties.SetProperty("DataStore", _dataStore);
> FDOConnection.Open();
> if (FDOConnection.ConnectionState ==
> OSGeo.FDO.Connections.ConnectionState.ConnectionState_Open)
> {
> try
> {
> // Create a feature class for Ship
> FeatureClass shipFeatureClass = new FeatureClass("Ship", "Description of
> ship");
>
> // Create the ID
> // Create ID Value - identity property
> DataPropertyDefinition idProperty = new DataPropertyDefinition("ID",
> "This is the identity property");
> idProperty.DataType = DataType.DataType_Int64;
> idProperty.IsAutoGenerated = true;
> idProperty.Nullable = false;
> idProperty.ReadOnly = true;
> shipFeatureClass.Properties.Add(idProperty);
> shipFeatureClass.IdentityProperties.Add(idProperty);
>
> // The name property
> DataPropertyDefinition nameProperty1 = new DataPropertyDefinition("Name",
> "the name of the ship");
> nameProperty1.DataType = DataType.DataType_String;
> nameProperty1.Length = 255;//
> nameProperty1.Nullable = false;//null
> shipFeatureClass.Properties.Add(nameProperty1);
>
> // The velocityProperty property
> DataPropertyDefinition velocityProperty = new
> DataPropertyDefinition("Velocity", "the Velocity of the ship");
> velocityProperty.DataType = DataType.DataType_Double;
> velocityProperty.Nullable = false;//null
> shipFeatureClass.Properties.Add(velocityProperty);
>
> // construct the instance of FeatureSchema
> FeatureSchema schema = new FeatureSchema("ShipSysSchema", "");
> //
> schema.Classes.Add(shipFeatureClass);
> //
> IApplySchema applySchema =
> (IApplySchema)FDOConnection.CreateCommand(OSGeo.FDO.Commands.CommandType.CommandType_ApplySchema);
>
> // set the schema to IApplySchema's feature schema
> applySchema.FeatureSchema = schema;
> //Execute the command
> applySchema.Execute();
> }
> catch (System.Exception ex )
> {
> Console.WriteLine(ex.Message + " " + ex.InnerException);
> }
> }
> }
>
> ny ideas?
>
> Thank in advance
> Hanko
> --
> View this message in context: http://osgeo-org.1803224.n2.nabble.com/OSGeo-PostgreSQL-3-5-Provider-Create-Schema-tp5157464p5157464.html
> Sent from the FDO Users mailing list archive at Nabble.com.
> _______________________________________________
> fdo-users mailing list
> fdo-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/fdo-users
>
More information about the fdo-users
mailing list