Ability to read data in 4d .4dd files and export to generic format?

2,170 views
Skip to first unread message

dtheis

unread,
Mar 24, 2007, 10:38:30 AM3/24/07
to 4D-Tech
I am looking for an odbc driver or utility to enable me to read the
data and export from .4dd files so the data can be imported to another
format for manipulation. Can anyone point me in the right direction?
-d

Scott Vanderbilt

unread,
Mar 24, 2007, 11:52:24 AM3/24/07
to 4D-...@googlegroups.com
4D's data file format is neither documented nor intended to be accessed in isolation apart from 4D or 4D Server. To do otherwise would circumvent 4D's "security" scheme, such as it is.

To access it via ODBC, you would need to run 4D Server and ODBC Driver for 4D Server.

You also have the option to reverse-engineer the .4DD file format, but this strikes me as a colossal waste of time

Paul Lovejoy

unread,
Mar 25, 2007, 6:06:34 AM3/25/07
to 4D-Tech
Hi,

If you're looking for a one-time or infrequent solution, I think that
probably the easiest way to export the data is to use 4D's language
to export all the tables in ascii files with seperators. From there,
you can import into basically anything.

If you're looking to do this frequently and/or on live data, you
should
probably do like Scott Vanderbilt says and use ODBC on 4D Server.

You can also go the reverse route and use a plugin to, say, write the
4D data to MySQL or another SQL database like Oracle.

I second Scott's opinion that you shouldn't access 4D's datafile
without going through 4D.


Paul

dtheis

unread,
Mar 24, 2007, 10:04:16 PM3/24/07
to 4D-Tech
So, I have to pay $1000 to access the data via odbc is what you are
saying... ?

Scott Vanderbilt

unread,
Mar 25, 2007, 10:09:57 AM3/25/07
to 4D-...@googlegroups.com
There are many free and open source data bases out there that will allow you to use ODBC clients. Presumably you asked your question because you have an existing 4D database. So your data got put into 4D format by someone who already owns 4D. Ask that person to export it out of 4D and then you'll be able to use any of the free options. No money required.

But complaints about having to pay to use copyrighted software are not going to generate any sympathy. If you're not happy with the data being wrapped up in a proprietary database, then talk to the person who put it there in the first place.

On 3/24/07, dtheis <dth...@degei-inc.com> wrote:

dtheis

unread,
Mar 25, 2007, 11:21:41 AM3/25/07
to 4D-Tech
Let me clairify. I did not mean to come off as complaining. I was
more so asking if that was indeed the only solution for access to the
data. If the money has to be spent on a 4d product for the solution,
it comes out of the client's pocket not mine and is their choice. I
have plenty of money into my own development tools.
Yes, the problem is that I am looking at extracting data from an
existing 4d database application. Asking them to provide an export is
not an option. Personally, I dislike proprietary db's, and no, I'm
not happy with this one any more than the one's I've dealt with in the
past. Developers that do this without a built in export function for
the customer to have freedom over their own data are not people I
ethically agree with. That's my real complaint. The difference is
that in the past and odbc driver was available for access to the data
and therefore extraction through another development tool or product.
Yes, I've paid for them in the past. The difference this time would
seem that I'm going to need to buy a "server" product for the odbc for
function. (based on limited info found googling) What I'm trying to
assertain is whether or not that is truely the case. The db is in a
stand alone app. Would it be executing an embedded 4d server at
runtime on localhost to access the data? Forgive my ignorance. Would
the purchase of just the 4d 2004 standard give me access and extract
ability of the data?
Thank you for your time and replys.
-d

On Mar 25, 9:09 am, "Scott Vanderbilt" <datagenic.li...@gmail.com>
wrote:

> > saying... ?- Hide quoted text -
>
> - Show quoted text -

Scott Vanderbilt

unread,
Mar 25, 2007, 1:51:51 PM3/25/07
to 4D-...@googlegroups.com
1. ODBC access to the data _will_ require the use of 4D Server and the ODBC driver for 4D Server. I agree this is lame, but it is consistent with 4D's overall business strategy which is to lock its users in (which, no doubt, you have taken notice of). Interoperability has never been 4D's selling point, recent forays into SOAP notwithstanding. So, if you are intent on using ODBC as a client, this is your only option.

2. If you are only interested in extracting the data set in your existing 4D data file and have no intention of using 4D in the future, I would suggest getting your hands on a copy of 4D and exporting to text or XML, then importing into a more friendly DBMS. I long ago lost track of the distinct features of the various flavors and brands of 4D. 4D Standard may be the least expensive option, I don't know. Check the 4D web site. You may even be able to get away with using a demo version. Once upon a time, they were limited to some small number of records per table ( e.g. 50). However, something in the recesses of my mind seems to think they may only be time-limited now, e.g., 30 minutes per session. The latter scenario would be optimal for you, as 30 minutes at a time should be plenty to allow you to export the data to text. Again, check the 4D web site.

Another alternative would be to hire a 4D Developer to export the data for you. Even if you paid someone $50 or $75 an hour, the final bill would likely be significantly less expensive than buying a license for 4D standalone just for this one job.

dtheis

unread,
Mar 25, 2007, 2:25:01 PM3/25/07
to 4D-Tech
Thank you Scott. I did see a time limit demo mentioned. I will try
it out. If the standard 4d will do it for me, the license seems
reasonable at about $400, even though it's not practical for this one
job.
-d

Paul Lovejoy

unread,
Mar 25, 2007, 4:13:35 PM3/25/07
to 4D-Tech
If this is a standalone application "merged" with a 4D application,
you won't be able to use it with 4D Server or with 4D standalone.

I suggest you clarify this before investing time. If the 4D
application
is an application (or .exe on Windows), you can't use it without
getting
a non-merged version from the developer. Ideally, you could get source
code, which would enable you to integrate a routine for exporting the
data, without the need for 4D Server or ODBC.


Paul

Tom Swenson

unread,
Mar 25, 2007, 5:56:12 PM3/25/07
to 4D-...@googlegroups.com

Some time ago Bryan Green did a demonstration at the South Bay 4D Users Group showing data from a 4D data file when opened with an "anonymous" structure composed of nothing but text fields. Pretty cool I thought.

Perhaps that same technique could be put to some use in your case. It would not be "reverse engineering" the data file, but rather using a feature that is part of 4D's flexibility.

Best part, no cost but your time.

Tom Swenson
A Dog and His Boy 




m. alam

unread,
Mar 25, 2007, 7:55:33 PM3/25/07
to 4D-Tech
There is no time-limited demo. The demo is limited in the number of
fields per table, and the total number of methods that can be created.
The limit on fields precludes creating a dummy structure with text
fields than can be attached to the datafile.

Brad Perkins

unread,
Mar 25, 2007, 11:05:28 PM3/25/07
to 4D-Tech
Would Datacheck help? I recall various export capabilities. Apologies
if this is a dead end. I'm not working at a machine where I have DC
installed or any structures I can test.

http://www.committedsoftware.com/datacheck.html

-- Brad Perkins

Reply all
Reply to author
Forward
0 new messages