Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 21 total
Thread Questions
Fri, Sep 26 2008 7:06 AMPermanent Link

"Jeremy Knowles"
I've just got EDB (used DBISAM for years), and have some questions:

1. I'm unsure which version to use. There are unicode and non-unicode for
Delphi 2007 so I opted to download the non-unicode one. I'll be moving
everything to Delphi 2009 as soon as I can, but am starting a new
application with EDB. Unicode per say has no interest to me, but are there
any recommendations as to the best option to use (for me, speed would be
the criteria!)?

2. Anyone got version 2 to work with RemObjects DataAbstract? Can't seem
to get the connection details right.

3. I created a DB on my local PC, now I want to copy it to the server
where I want it to reside, so I create a 'reverse-engineer' script, and
assume I can just connect to other server with EDB Manager, but that
doesn't work, so what's the right way?

--
Jeremy Knowles
Fri, Sep 26 2008 9:14 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Jeremy,

<< 1. I'm unsure which version to use. There are unicode and non-unicode for
Delphi 2007 so I opted to download the non-unicode one. I'll be moving
everything to Delphi 2009 as soon as I can, but am starting a new
application with EDB. Unicode per say has no interest to me, but are there
any recommendations as to the best option to use (for me, speed would be the
criteria!)? >>

If you're going to be using Delphi 2009, then I would use the Unicode
versions.  They will work better with Delphi 2009 with less AnsiString <-->
UnicodeString conversions, especially with the TDataSet functionality and
data-aware/non-data-aware controls.

<< 2. Anyone got version 2 to work with RemObjects DataAbstract? Can't seem
to get the connection details right. >>

I haven't used DataAbstract, so I can't really comment.

<< 3. I created a DB on my local PC, now I want to copy it to the server
where I want it to reside, so I create a 'reverse-engineer' script, and
assume I can just connect to other server with EDB Manager, but that doesn't
work, so what's the right way? >>

What is the "other server", an ElevateDB Server ?

--
Tim Young
Elevate Software
www.elevatesoft.com

Fri, Sep 26 2008 10:10 AMPermanent Link

"Jeremy Knowles"
Tim Young [Elevate Software] wrote:

>If you're going to be using Delphi 2009, then I would use the Unicode
>versions.  They will work better with Delphi 2009 with less AnsiString
><--> UnicodeString conversions, especially with the TDataSet functionality
>and data-aware/non-data-aware controls.

Great, thanks, presumably I just uninstall the one I have in 2007 and
download/install the unicode one then?


>I haven't used DataAbstract, so I can't really comment.

Hopefully someone has, since there is a driver for it in DA, but noone at
RO seems to know either! There was me thinking if I waited while EDB was
around a while, the problems would be less Wink

><< 3. I created a DB on my local PC, now I want to copy it to the server
>where I want it to reside, so I create a 'reverse-engineer' script, and
>assume I can just connect to other server with EDB Manager, but that
>doesn't work, so what's the right way? >>
>
>What is the "other server", an ElevateDB Server ?

I have installed the ElevateDB Server on another PC on the network (our
SQL Server box), which I want to control a particular app (that I'm trying
to get setup for replication), so in my EDB Manager I have two sessions,
one to my local data on my PC, and another to the remote server and I
wanted to copy tables from one to the other once I've got it running on my
PC

--
Jeremy Knowles
Fri, Sep 26 2008 12:57 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Jeremy,

<< Great, thanks, presumably I just uninstall the one I have in 2007 and
download/install the unicode one then? >>

Yes.

<< Hopefully someone has, since there is a driver for it in DA, but noone at
RO seems to know either! There was me thinking if I waited while EDB was
around a while, the problems would be less Wink>>

We didn't write the driver for DA, so I have no idea who did, but I would
assume that RO did so.

<< I have installed the ElevateDB Server on another PC on the network (our
SQL Server box), which I want to control a particular app (that I'm trying
to get setup for replication), so in my EDB Manager I have two sessions,
one to my local data on my PC, and another to the remote server and I wanted
to copy tables from one to the other once I've got it running on my PC >>

You can do so using stores, but you'll have to make sure to also copy over
the database catalog also to ensure that you don't have a mismatch between
the two.  The easiest way to do so is to use the backup/restore combined
with a local and remote store:

http://www.elevatesoft.com/manual?action=mantopic&id=edb2sql&category=0&topic=20

--
Tim Young
Elevate Software
www.elevatesoft.com

Fri, Sep 26 2008 2:20 PMPermanent Link

"David Cornelius"
> 3. I created a DB on my local PC, now I want to copy it to the server
> where I want it to reside, so I create a 'reverse-engineer' script,
> and assume I can just connect to other server with EDB Manager, but
> that doesn't work, so what's the right way?

The backup/restore idea that Tim mentioned is the easiest, but if you
want a script to use over and over, know that using the
"reverse-engineer" trick will create a script you can immediately use
ONLY if you don't have foreign key constraints.  The generated script
puts the constraints in with the table creation statements so if a
table is higher up in the script than another table it refers to,
you'll get an error because it's refering to a table that has not yet
been created.

I used the reverse-engineer to generate the table creation scripts,
then re-ordered the tables in the script so that it flows properly to
eliminate the errors during execution on a new database.

--
David Cornelius
CorneliusConcepts.com
Fri, Sep 26 2008 2:28 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

David,

<< The backup/restore idea that Tim mentioned is the easiest, but if you
want a script to use over and over, know that using the "reverse-engineer"
trick will create a script you can immediately use ONLY if you don't have
foreign key constraints.  The generated script puts the constraints in with
the table creation statements so if a table is higher up in the script than
another table it refers to, you'll get an error because it's refering to a
table that has not yet been created. >>

2.01 Build 5 puts the constraints at the end as ALTER TABLE statements.

--
Tim Young
Elevate Software
www.elevatesoft.com

Fri, Sep 26 2008 3:18 PMPermanent Link

"David Cornelius"
> 2.01 Build 5 puts the constraints at the end as ALTER TABLE
> statements.

That sounds cool!  But I'm not seeing that.  Is there a check or option
or something that turns this on?  I have 2.01 b5 and have 60 tables
with many foriegn-key constraints and just now did a reverse-engineer,
but all the constraints (PKs and FKs) were mixed in with the table
create statements--in fact, there is no ALTER statement in the entire
script.  But then again, these tables are now created in order so that
it would work straight from a generated script.

Here are the first 3 tables copied straight from the generated script:

/************************************************************
*
* ElevateDB Reverse-Engineered script for the Travel database
*
* Generated on 9/26/2008 12:00:16 PM
* By the user Administrator
*
************************************************************/

SCRIPT
BEGIN
  
  /************************************************************
  * Tables
  ************************************************************/
  
  EXECUTE IMMEDIATE 'CREATE TABLE "Languages"
(
"ID" INTEGER GENERATED ALWAYS AS IDENTITY (START WITH 0, INCREMENT BY
1) NOT NULL,
"CreatedOn" TIMESTAMP NOT NULL,
"LastUpdated" TIMESTAMP NOT NULL,
"LanguageName" VARCHAR(100) COLLATE "ANSI" NOT NULL,
"Installed" BOOLEAN DEFAULT (0)    NOT NULL,
CONSTRAINT "PK_Languages" PRIMARY KEY ("ID")
)
VERSION 1
UNENCRYPTED
INDEX PAGE SIZE 4096
BLOB BLOCK SIZE 512
MAX ROW BUFFER SIZE 32768
MAX INDEX BUFFER SIZE 65536
MAX BLOB BUFFER SIZE 32768';
  
  EXECUTE IMMEDIATE 'CREATE TABLE "TimeZones"
(
"ID" INTEGER GENERATED ALWAYS AS IDENTITY (START WITH 0, INCREMENT BY
1) NOT NULL,
"GMTAdjustment" DECIMAL(20,1) DEFAULT (-8)    NOT NULL,
"City" VARCHAR(50) COLLATE "ANSI" NOT NULL,
"CountryCode" CHAR(2) COLLATE "ANSI",
CONSTRAINT "PK_TimeZones" PRIMARY KEY ("ID")
)
VERSION 1
UNENCRYPTED
INDEX PAGE SIZE 4096
BLOB BLOCK SIZE 512
MAX ROW BUFFER SIZE 32768
MAX INDEX BUFFER SIZE 65536
MAX BLOB BUFFER SIZE 32768';
  
  EXECUTE IMMEDIATE 'CREATE INDEX "IDX_TimeZones_CountryCode" ON
"TimeZones"
("CountryCode" COLLATE "ANSI")';
  
  EXECUTE IMMEDIATE 'CREATE TABLE "ActivityCategories"
(
"ID" INTEGER GENERATED ALWAYS AS IDENTITY (START WITH 0, INCREMENT BY
1) NOT NULL,
"LanguageID" INTEGER DEFAULT ((1))    NOT NULL,
"ActivityCategoryName" VARCHAR(50) COLLATE "ANSI" NOT NULL,
"Hint" VARCHAR(100) COLLATE "ANSI",
CONSTRAINT "PK_ActivityCategories" PRIMARY KEY ("ID"),
CONSTRAINT "FK_ActivityCategories_Languages" FOREIGN KEY ("LanguageID")
REFERENCES "Languages" ("ID") ON UPDATE NO ACTION ON DELETE NO ACTION
)
VERSION 1
UNENCRYPTED
INDEX PAGE SIZE 4096
BLOB BLOCK SIZE 512
MAX ROW BUFFER SIZE 32768
MAX INDEX BUFFER SIZE 65536
MAX BLOB BUFFER SIZE 32768';

....


--
David Cornelius
CorneliusConcepts.com
Sat, Sep 27 2008 9:46 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

David,

<< That sounds cool!  But I'm not seeing that.  Is there a check or option
or something that turns this on?  I have 2.01 b5 and have 60 tables with
many foriegn-key constraints and just now did a reverse-engineer, but all
the constraints (PKs and FKs) were mixed in with the table create
statements--in fact, there is no ALTER statement in the entire
script.  But then again, these tables are now created in order so that it
would work straight from a generated script. >>

Are you sure that you're using the 2.01 B5 EDB Manager ?  I just tried it
again here and it is definitely putting the ALTER TABLE statements at the
end of the CREATE TABLE statements, right before it starts with the CREATE
VIEW statements.

--
Tim Young
Elevate Software
www.elevatesoft.com

Sat, Sep 27 2008 12:57 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com


<< Are you sure that you're using the 2.01 B5 EDB Manager ?  I just tried it
again here and it is definitely putting the ALTER TABLE statements at the
end of the CREATE TABLE statements, right before it starts with the CREATE
VIEW statements. >>

I might be wrong on this - this might have been done after B5 was released.
I'm making so many changes in the EDB Manager, it's hard to keep up.

--
Tim Young
Elevate Software
www.elevatesoft.com

Sun, Sep 28 2008 6:03 AMPermanent Link

"David Cornelius"
> Are you sure that you're using the 2.01 B5 EDB Manager ?  I just
> tried it again here and it is definitely putting the ALTER TABLE
> statements at the end of the CREATE TABLE statements, right before it
> starts with the CREATE VIEW statements.

Yes, absolutely positive.  I even double-checked before posting (I've
made a fool of myself here before by posting before reading the manual
and didn't want to do that again.)


--
David Cornelius
CorneliusConcepts.com
Page 1 of 3Next Page »
Jump to Page:  1 2 3
Image