This thread looks to be a little on the old side and therefore may no longer be relevant. Please see if there is a newer thread on the subject and ensure you're using the most recent build of any software if your question regards a particular product.
This thread has been locked and is no longer accepting new posts, if you have a question regarding this topic please email us at support@mindscape.co.nz
|
Hi, I'm trying to use LS designer in VS2k8 SP1 with a postgres db on another server. I can connect using pgadmin3 from my development machine and I have installed your VS postgres provider which allows me to connect just fine. My model works against SQL Server, however, when I change the connect string and set the provider to postgresql8 and then right click on the model background, I get first an error "The Extender Provider failed to return an Extender for this object" and then "Error HRESULT E_FAIL has been returned from a call to a COM component". My connect string is "Server=byg-server3; Port=5432; User Id=postgres; Password=<secret>; Database=vampiredb;" I'm using the nightly build from June 14th. What am I doing wrong? Thanks Peter Shoebridge |
|
|
UPDATE: An uninstall and a re-install fixed the issue with the designer. Now the designer allows me to update the database but I get an error: "ERROR: 42804: column "enabled" is of type boolean but the default expression is of type integer" Looking at the sql being run against the db, it does indeed look incorrect: -- Add table Denominations to the database CREATE TABLE Denominations (Id BIGINT NOT NULL PRIMARY KEY ,Value DECIMAL(24, 18) NOT NULL DEFAULT 0,Enabled BOOL NOT NULL DEFAULT 0,CreatedOn DATE NOT NULL,UpdatedOn DATE NULL,DeletedOn DATE NULL,LockVersion INT NOT NULL DEFAULT 0);/* ERROR: DenominationEntity: Add table Denominations to the database - ERROR: 42804: column "enabled" is of type boolean but default expression is of type integer*/ ;
|
|
|
This was a bug in our handling of PostgreSQL boolean columns. I've committed a fix and it will be included in the 17 June nightly build, available after about 1430 GMT. Thanks for letting us know about this! |
|
|
Excellent, thank you. Great support as usual. Another issue i've had (not major) with moving from MSSQL to PostgreSql is, I have a column which is datatype Guid and when updating the postgres database I get the prompt to "Change column TransactionId from String to guid" and LS generates the following sql: -- Change column TransactionId from String to Guid ALTER TABLE histories ALTER COLUMN TransactionId TYPE CHAR(36); ALTER TABLE histories ALTER COLUMN TransactionId SET NOT NULL;;which executes fine, but the designer continues to prompt me with the same request when updating the database again. Peter |
|
|
We were accepting string columns as being equivalent to a Guid for the entity identity, but not for normal properties. I've committed a fix for this so the annoyance should go away in the next nightly build. One caveat: a consequence of this fix is that any string column will be accepted as being equivalent to a Guid. Thus, if you have manually created the pseudo-GUID column and the length is not correct, e.g. you have declared it as char(5) or char(1234), this will also be accepted -- the designer will not attempt to correct it to the required char(36) and you will likely get errors at runtime. Also, on SQL Server and other databases that support a native GUID type, the use of the native GUID type will continue to be enforced -- the designer *will* propose to change string columns to uniqueidentifier columns if the model specifies a Guid property. |
|