Tuesday, November 18, 2008

Congratulations to DBI and dBASE

A huge PR nightmare appeared recently from the Microsoft groups. I blogged about it. Many, including myself, posted messages in the dbase news groups.

What was surprising was the quick turn-around time that DBI, and Marty Kay in particular, in responding to this PR mistake. Contacting the customer, posting a reply in the Microsoft news group. Even making a comment here on this blog.
"Our customer service manager has learned a lesson about speaking with potential customers and not reacting inappropriately to any provocative statements the customer may make." - Marty Kay replied.

In the past DBI/dBASE has not been known for their great PR skills, or their care for their customers or potential customers. But this incedent shows that those notions are changing. Things certainly look up.

I have said in this blog that I write as I see it. True to my word I see a big plus for DBI and dBASE here. I would be the first, and I actually did, congratulate Marty Kay on the excellent way that he handled this matter.

Perhaps there is hope yet for DBI and dBASE.

Google Voice Search

Google's voice recognition app finally arrived for the iPhone. You can download it from the Apple itunes store here iTunes

Google’s search-by-voice application allows users to speak into their iPhone to submit queries to Google’s search engine. This will appeal to users who find it difficult to type using the iPhone keypad, especially when we are so used to using a qwerty keyboard.

Google's voice-recognition technology will be first available for the iPhone, even before devices, such as the G1, running its own Android mobile platform. Google will soon offer the technology for other devices, including the T-Mobile G1, which uses Android. Google also has a voice-search client for the BlackBerry, which, at the moment, is limited to maps.

But Google is playing catch-up. Yahoo and Microsoft already offer a voice-recognition option for mobile phones. Microsoft's Tellme and Yahoo's oneSearch both offer voice services.

I suppose the voice search will be most useful when a you might need to call directory assistance or do a simple search, but you can not do it safely, or legally, on a keyboard while driving. Especially here in South Africa where there can be hefty fines given for talking-and-driving. Another benefit might be the ability to search for potentially long queries that would be difficult to type.

But accuracy will still be a factor. What with all the different languages around. 11 official languages here in South Africa. What about all the different accents and word pronunciations. Apparently it works best with ‘North American’ accents. No surprises.

Google's voice recognition is far from perfect. Getting most searches right, but still inconsistent. The biggest let down, and perhaps not fully shown in the video released by Google, is the fact that you cannot search your contacts via voice. You still have to do a manual type search. But you can use a separate app available for the iPhone, "SayWho", which will dial your selected contact for you, using voice recognition.

Could voice recognition be the next killer app for mobile? The voice recognition market is growing at galloping pace. In 2006 voice recognition technology sales where in the region of $1 billion. That number is expected to swell to $2.6 billion by 2009.

What are your thoughts? Have you downloaded it yet? Have you used it? Has it worked?
Let me know what you think.

Sunday, November 16, 2008

How Not To Promote Your Product

Promoting your product is an essential part of business. Especially if a company is struggling and lacking a good user base. Every potential customer should be swallowed up whole and grabbed with both arms.

Promoting your product is not only about outside marketing but internal loyalty, product belief, and product knowledge. When a potential customer phones your company, you do all you can to help him buy the product not drive him away.

A recent potential customer to dBASE phoned the dBASE offices and was totally rejected. This was his account:
" Whew!

I thought Microsoft was bad.I just called the dBase office to ask some pre-sales technical questions.

The receptionist told me that there was no one technical that could take my questions either on the phone or by email.
I said "That's going to make me a lot less likely to buy your product"

She said 'I wouldn't buy it either'

So I'd scratch that one off my list"

Wow, can you believe that. Here I am, setting up a dbase blog to promote the product. To criticise both good and bad, to help people. I get lambasted because of my criticism, people in the dbase news groups call me all sorts of names, because I tell it as I see it. But then this happens.

Makes you think doesn't it. If an employee does not even believe in the product, how am I supposed believe. I wonder now if my decision to move over to Microsoft was the right thing to do. Well of course it is, dbase staff do not even think its a good product. They won't even buy it. I mean they have no technical folks to help you make that crucial decision.

Thursday, November 13, 2008

Google goes for video and voice chat

On Tuesday Google Inc launched a free Web-based service that competes with the likes of eBay's Skype. Google recently added a voice and video chat feature to its Gmail email service.

If you are a Gmail and Google App subscriber, you can now choose to speak with friends on a video screen and at the same time IM them in a Google Chat box.

The video screen can be popped out of the chat box and moved around your computer screen. You can also change the size of the video pop-out screen and even make it full size.

"The idea was to make it quicker and easier to communicate with other people by whatever means is best convenient," said Google spokesperson Jason Freidenfelds.

"It's a nice alternative for businesses looking for another way for people to connect," he said.

This new addition to Google apps is available for both PC and Mac users.

A webcam and small web browser plug-in is all that you need to use the video chat. if you do not have a webcam, don't fret, you will still be able to chat with friends by voice.

Wednesday, November 12, 2008

Which is better Google Pagerank or Alexa traffic rank?

Having just started my new business and website, http://www.integralwebsolutions.co.za about three months ago. I also started a blog called the brave programmer at http://blog.thebraveprogrammer.integralwebsolutions.co.za

I find that I am obsessed with statistics. I check my Google stats at least three times a day. I check my blog stats at least as much. In fact I have three blogs and I am obsessed with them just as much.

I am always trying to find ways and means to increase Pagerank. Trying to find good quality back links, writing articles and blogs. Joining Social Networks. Trying to optimise every page.

Some of this has paid off. But I still think there is a lot to be done. My Pagerank has gone up, not by a huge margin. But then you're only working with a range of 10, not much play there.

My Alexa ranking has gone from 14 000 000 to 800 000. Not bad I think.

But which is better to have? Which is more sort after? Which shows the true worth of your site? Alexa traffic rank or Google page rank?

In my mind I would go for the Alexa ranking. Simply because your website is about visitors to your site, not how Google ranks your site. Yes these are related. But what good is it to have a million links to your site, and a page rank of 10. But you do not get any traffic, your Alexa rank is 9 000 000.

While I do realise that this probably will not happening. I mean if you have a million inbound links and a traffic rank of 10, then surely your traffic is very very high.

But humour me for a second. If this were so, surely the one to push for would be traffic rank. So some have a high Google rank, because of site age, and inbound links. But their site gets no traffic. Traffic means sales, and sales means money.

What are your thoughts. Let me know what you think. Pagerank or Alexa rank? Feel free to leave me a comment.

Tuesday, November 11, 2008

Google's G1 phone hacked

It was only a matter of time wasn't it? Some bored teenager hacked the iPhone a while back. But that's not all. No sooner had the G1 been released when someone decided to hack Google's latest pride and joy.

Although not as impressive as the iPhone hack. The G1 hack is none the less significant. The hack has the potential to turn the G1 into a brick. As reported here: http://www.koushikdutta.com/2008/11/how-get-root-access-on-t-mobile-g1.html.

The hackers have managed to jailbreak the G1 by taking advantage of a massive loophole in Android.

Android is the open source operating system supplied by Google.

Apparently some Linux geeks hacked the G1 and gained root access in about one minute. They used a widely available PTerminal application to telnet to the device`s IP address.

The hack gives the hacker complete system, or root,access. This means that they will complete administrator rights which comes with full read-and-write functionality of the Operating System. Basically they could do what they liked.

Makes you think doesn't it. If you are one of the big boys, and you make a statement or launch a product. There is always some hacker waiting to throw some pie in your face.

A Google spokesman said the company plans to distribute a patch that will close the loophole.

Testing your web page in over 60 browsers.

So you have developed this mind blowing, gob smacking, beautiful website. It rocks! But the first day you put it up, you get an e-mail along the lines of, "your website sucks, the size is all wrong, things are not positioned correctly, its all outa whack".

What in the world is going on here? Your site rocks, who is this idiot? What is he ranting and raving about?

You soon find out that the unfortunate user viewed your site in a different browser to what you have. The site does not display well in browser xxx.

What do you do? Well you could install all the browsers onto your machine and test them all individually. But that's a scary thought and not advised.

Most would only try and get their site to display well in the three major browsers, Firefox, IE and I suppose Safari.

But as most of you know these three do not agree with each other as to the standards that should be kept. Even the different browser versions display sites differently within the same browser family. I am not going to debate which browser is the best or which is the most compliant when it comes to web standards.

What I am going to do is let you into a little secret. I came across a site that will take a snap shot of how your site looks in over 60 browsers. Now you do not have to test all 60, but you can choose which browsers you want to target.

It navigates to your site, and loads it into each of the browsers that you selected. Takes a snap shot of what your website looks like.

The best thing about this is that it is a free service. 121 computers run by volunteers are used to submit sites to different browsers. They even have some rudimentary stats. Where you can see against which browsers people are testing.

No surprises that it seems that IE is winning the testing race, followed by Firefox, the I think Safari. Opera makes a good showing as well. But there are browsers being tested that I have not even heard of.

The site in question is browsershots, and it can be found at this address http://browsershots.org.
Check it out. If you are into building and testing websites and you believe that you might be having some peculiar display issues. Submit your site to browsershots and see how your site is rendered in the browsers of your choice.

Friday, November 7, 2008

Robbers Hit Northgate - While I was there.

Two people were shot and wounded in armed robberies at the Northgate shopping mall today, Friday. Now this might not seem alarming to many, as we are so used to crime now days. But the thing is, I was there in the mall with my family, wife, 2 year old daughter, 11 year old son. It could have been me that was shot, or my wife, or God forbid, my kids.

A man was shot in the chest and was in a critical condition. Four robbers fled the scene in a white Opel Astra. No arrests were made but police were investigating a case of armed robbery and attempted murder.

Last week we were at a steers drive through, when just in the next shopping centre, about 200m away, robbers hit the shopping centre. The same gang might have even hit the petrol station the day before in the same shopping centre as the steers drive through.

A week before that, a high jacking occurred not 200m away from where we stay, a person was shot.

A few months before that we were rocked awake in the early hours of the morning by a loud bang. The ATM at the shopping centre up the road from us was bombed.

These criminals are more and more brazen as they start to attack, rob, high jack, and murder during the day and even at the most populated places.

I am proud South African. The government says that the crime rate is falling. Problem is, I do not experience that. I have been in the vicinity of more dangerous life threatening crime in the past six months than in the last two years.

I married a beautiful British girl. Their parents were forced to move back to Britain because they were robbed while they slept, and held up at gun point in the middle of the day. Two separate incidents weeks apart.

I fear for my life and the life of my family. My wife is always nagging me to move overseas, to England. Where its safe.

With the current crime rate, statistics say, its just a matter of time before something like this happens to me. I do not want to take that chance. With all these crimes going on around me, those stats do not seem so far off.

Yes there is crime all over the world. But the blatant disregard for life in this country is beyond explanation. In England, yes they might rob you, but they won't sommer just shoot you and kill you for nothing.

I am a programmer, I develop websites. My site is Integralwebsolutions. I work from home, and my servers and sites are hosted in the states. I don't need to actually live in this country to carry on working.

But I love this country. I love the weather, I love the sport, I love the law abiding people. But it seems like this country does not love me any more.

Just this week, an armed robbery and high jacking took place in Kempton Park. The black police inspector from Tembisa said that it was time whites packed our bags and left the country. But he did not use such flowery words. Calling the victims dogs and vowing that he would see to it that the white police woman would be shot in a robbery. Cocking his R5 rifle he told the white victim to pack his bags leave the country, as he refused to arrest the criminal or open up a police case of the robbery and high jacking.

With the current brain drain in the country, the lack of skills, the high unemployment rate, and the high crime rate, it is only going to get worse. With criminals running our country, I mean literally, criminals in the government. One might not be surprised at the way this police officer behaved.

If they want me to leave, if they do not want any web developers and programmers in the country, I might just leave. Over time, I would probably get better respect in England, the state hospitals are better, there is better social support, the crime is not as violent. It sure does seem a tempting proposal.

Thursday, November 6, 2008

Is Google's G1 Better Than The iPhone?

Internet giant Google has launched its much-awaited mobile phone. Many claim a direct challenge to the supremacy of the iPhone.

The G1 was unveiled in New York last month and was put on sale in the UK early November. The G1 has been released exclusively by T-Mobile.

It is stipulated that it will go head to head with other mobile products such as Apple's iPhone, the Blackberry and other smartphones from makers such as Nokia, Samsung.

The G1 uses Google's open source mobile software, Android. Many have stated that it is a phone with the capability of a hand held computer. Is it a phone or is it a palmtop, with telephony as one of its functions?

The G1 is a touch-screen mobile phone and includes a QWERTY keyboard when you slide the phone open. Included are applications such as Google Maps with StreetView, Gmail, YouTube and GoogleTalk. mmm Lots of Google stuff. Not surprising.

Is it then a phone or a dedicated smart fancy electronic wireless browser? Is it a way for Google not only to challenge iPhone, but in the same breath to capture and increase their Internet user market. Maybe not only are they trying to stick it to Apple, but Yahoo as well. What is Google doing in the mobile market. I thought it was an Internet giant, a search engine. But then again I have been wrong a few times before.

Not only does it have a keyboard, but the G1 also has a trackball for more precise, one-handed navigation. That's not all, it also sports a 3-mega pixel camera.

But despite the popularity of the Google brand, the G1 isn't 'cool'. It does not strike me as a 'Geek' phone. The same coolness and Geekness that the iPhone 3G had which was a massive success for Apple.

One thing though which might sway the masses towards the G1, is cost. The G1 will in fact be cheaper. Over a two year contract the G1 will be in the region of $380 cheaper. Included will be unlimited mobile internet browsing. Some plans will not only include unlimited data but unlimited texting or SMS.

However the iPhone comes to its own when we talk capacity. Sporting a massive 8GB-16GB as opposed to 2GB-8GB for the G1. This will win over the huge music fans, because if you do the math, you can fit more mp3's, more video and more pics onto the iPhone as opposed to the G1. Seems that the iPhone is more geared towards multimedia, despite the 3 mega pixel camera for the G1 as opposed to the 2 mega pixel for the iPhone.

One thing is for certain, the G1 was designed to bring new possibilities to the art of online communication. The problem now is, can you ever say, "I never got that e-mail".

What ever the case might be. Whether you are a iFan or a Gman, the Gadget wars have just begun.

CNN's Hologram. Real or Fake?

CNN made huge waves on Tuesday night by incorporating, what they claim to be, a three-dimensional hologram into its coverage of the U.S. election. The question I first asked when I saw this was, "was it really a hologram"?

I'm sure that whatever it was, it was very sophisticated. But no hologram. The technology is so complex and computing power is so powerful, that we are not there yet.

At about 7 p.m. EST USA, reporter Jessica Yellin, who was in Chicago, spoke with New York based anchor Wolf Blitzer live "via hologram," CNN said.

She seemed to appear a bit fuzzy as her image was apparently projected a few feet in front of Blitzer. The image appeared to glow around the edges as well. "You're a terrific hologram," Blitzer said to her. Making good use of the power of suggestion.

"It's like I follow the tradition of Princess Leia," she said, making reference to the Star Wars character and obviously some reference to the holograms in the movies. Which also seemed to glow around the edges and appear a bit fuzzy. Kind of coincidental, don't you think?

Was CNN playing on our minds and our infatuation with sci-fi and the likes of Star Wars?

Apparently her image was being filmed in Chicago by 35 high-definition cameras. These cameras were set in a ring inside a special tent. The images were then processed and synchronized by 20 computers to the cameras in the New York studio.

Sources tell me that the CNN anchors were not really speaking to three-dimensional projected images, but rather empty space. The images were simply added to what viewers saw on their screens at home, in much the same way computer-generated special effects, like the hologram of Leia, are added to movies, like Star Wars, as suggested in the interview.

These images were tomograms. Tomograms are images that are captured from all sides. Then reconstructed by computers. Finally displayed on screen. Much like what happened in the movie "The matrix".

Holograms, on the other hand, are projected into space.
Sources tell me that holographic images are generally captured and projected using coherent light such as lasers. A laser would need to be more than six feet in diameter to capture a person's image, which I believe is impossible. Probably because such a huge light source would be blinding.

I also believe that our current hologram technology requires some sort of floor pad or plate, which is absent from the CNN footage.

CNN reporting that this is a hologram, was this then a lie or the truth? Where then does the line stand between truth and lies? Should journalists and news companies be able to lie about news and technology, in order to gain viewers or readership? Should they twist the truth to increase their rankings in the viewers poll. Should they be sensationalists with no regard to accuracy and facts.

Why would CNN lie about this being a hologram? Is its cheesy reporting, aimed to capture your attention no matter what the truth might be?

The real question is. Do you really care? Are you actually concerned that this type of deception is going on, or are you captivated by the entertainment?

What do you think about this? Did you believe that it was a real hologram? Were you amazed?

Let me and others know. Leave your comment. what did you think?

BTW, CNN could not be reached for comment.

Tuesday, October 28, 2008

Updating Multiple Social Networking Sites

Social Networking? Can be a life saver or a pain in the never region. Can take up a large portion of your day, and life. Can be a great business tool or a production black hole. Like most things, SN (Social Networks) can be good or bad. Depending how you use them.

I know of some people who spend up to three hours a day, updating their SN sites. Things like blogging, Facebook, twitter, plurk, flickr. This seems to escalate depending on how many SN sites you keep active.

When I first started out with my new Internet Business, website design and development, I added SEO to my stable. One of the things I learned quickly was that SN could drive traffic to your website. Help with building back links and help promote your website.

So what did I do? I started to join multiple Social Networks, including Facebook, twitter, plurk, linkedin etc. I also started blogging setting up multiple blogs. Some have similar content some are vastly different.

I soon found out that this took up a large amount of time. Having a new business I could not justify all the time spent on SN. I needed to bring in paying clients, I found it more profitable to spend time coding than Social Networking. But still realised the importance of SN.

I was in a bit of a dilemma. I knew that Social Networking could help me, but had no time to dedicate to it. As a result a lot of the SN sites were neglected. I only focused on the ones I thought might benefit me.

Enter in ping.fm. Ping.fm is a service that helps with updating multiple Social Network sites. By writing, or blogging in one place you can update everything. Their motto - "Ping.fm is a simple service that makes updating your social networks a snap".

Once you sign up, you add various services to your account that you want to update. They have many services in their stable and are adding more. Things like Blogger, LiveJournal, Wordpress, Facebook, Twitter, Plurk, LinkedIn. etc.

By writing in one place, ping.fm, you can post (ping) to all your SN sites. Updating your status, ,micro-blogging, full blogging. I am doing this right now. This blog was sent to multiple blog sites via ping.fm.

Whether it is advisable to send the same thing to multiple blogs is for another discussion.

With ping.fm you can ping (post) to all your Social Networks at once, or to a selected group, or to individual ones. This is done by triggers. These triggers help ping.fm to know what you are trying to do. For instance, you could just make status updates, or post to your micro-blogging sites like twitter and plurk, or even post to you full blogging sites like Blogger and Wordpress. You can ping them individually or as a group.

You can even create your own triggers, so that you can post to your own combination of SN sites. For example, you might want to only post an update to Twitter and plurk. Create a trigger, write your update, and ping using that trigger.

Ping.fm makes it even easier to update your sites by providing other services that you can use to update them. Services like Instant Messaging. Do you have AOL IM, or Live Messenger, or Yahoo Messenger. Set up a ping.fm contact using their application key, and then you can update your Social Networks through your IM client.

If that does not work for you, you can set up an e-mail to update you Social Networks. This I find will work great for those who are behind a company firewall and are prohibited to go to certain sites. With an e-mail you could possible circumvent this and update your Facebook or twitter via e-mail. Although I haven't tested this out, I see no reason why it should not work.

If you have tried this out. Leave a comment and let me know how it went.

What if you have been banned from the internet and e-mail. Well ping.fm have provided another way for you to update your SN sites. Through the use of your Mobile phone or iPhone, you can update all your SN sites. You can even SMS (text) your updates in, or send e-mails from your Mobile and iPhone.

All in all I am impressed with this service. It certainly has taken out the drag of updating SN sites. I recommend you take a look and let me know.

Leave me a comment, tell me what you think.

Sunday, October 26, 2008

Liverpool on top of the log

I know this has nothing to do with dbase. But it is worth the shout. Liverpool won today 1-0. Beating Chelsea. Moving to the top of the log.

I think they have a good chance to take the title this year. Best chance they have had since the last time they won, 19 years ago.

Liverpool, you will never walk alone.

Using an older version of dBASE

It surprises me still when I hear about some folk who are still using older versions of dBASE. I mean DOS versions, like dBASEIV or dBASEIII or even dBASE 5.0 for dos. There seem to be a few that are still using or supporting dbase 5.7.

I know for myself I am supporting a 5.7 installation in Cape Town. Been meaning to write an upgrade and get the client out of 5.7. But time and cost have prohibited me.

I wonder how many are still using or supporting older versions of dBASE or any software. Remember a few years ago when the Y2K scare was what every one was talking about. Well that has come and gone, yet many of those older programs who were said not to run, are still working.

Seems to me that there are many clients out there who are not too worried about getting the latest and greatest. All they want is something that works and fits their needs. Even if it does mean that the software they have is a few years old.

What versions of dBASE or any other software are you supporting? Particularly older versions. Leave a comment and let us know.

Sunday, October 5, 2008

Accessing your dbf tables via a linked server in MSSQL

In my previous post I wrote about accessing dBASE tables through MSSQL. Primarily I discussed accessing dBASE data using the OpenRowset function.

If you tried this, you would have seen that it works pretty well. But as I mentioned, this is used as an adhoc procedure. Only when you need to access dBASE data a few times, would OpenRowset be a good choice. You must admit that the syntax is long. I mean its not just a select * from mytable, but you have to include the driver, and the data path etc etc. with the select statement.

This can get very frustrating if you have to do lot of dbf access. Enter in the linked server.

“A linked server configuration enables SQL Server to execute commands against OLE DB data sources on remote servers. Linked servers offer the following advantages:

  • Remote server access.
  • The ability to issue distributed queries, updates, commands, and transactions on heterogeneous data sources across the enterprise.
  • The ability to address diverse data sources similarly.”

So in a nutshell, when you create a linked server to your dbf files, it will act as a normal server object in your applications and Enterprise Manager. You can easily use the select statement with a fully qualified table address, this will still be much shorter than using OpenRowset.

Setting up a Linked Server

First things first. Set up the linked server. I am going to be discussing how to do this through enterprise manager. As it is easier to understand.

Note: You need to have the correct version of MDAC installed. At least MDAC 2.6 I believe.

Open EM, and navigate to Server Objects in the Object Browser. If your Object Browser is not active you can activate it via the view menu or just press F8. Expand the Server Objects node, then navigate to the Linked Servers node. Right click on the Linked Servers node and select “Create New Linked Server” form the pop-up menu. A New Linked server form will appear.

Enter in the name of your linked server in the text box that appears next to the “Linked Server” label. This can be any name that you would recognise to describe the object.

Then under Server Type, choose the “Other Data Source” Radio button. The rest of the form below will then become active to fill in.

Expand the drop down box under “Provider” and select “Microsoft Jet 4.0 OLE DB Provider”. You might be tempted to select the driver for OLE DB ODBC Drivers, but there are some restrictions. See "Books Online”.

For “Product Name” enter “Microsoft Jet

In the “Data Source” text box, enter the full folder path to your dbf files. For mine I entered this: “D:\dBASE Work\R3\Santam\Data”.

For the the “Provider String” Enter the dbf table level. Because MDAC cannot understand level 7 dbf tables, entering level 7 for table version will not help. But if you enter “dBASE 5.0” this works. Don’t ask me why but it does. So for the “Provider string” enter “dBASE 5.0”.

Then go to the security page. Select “Be made using this security context” radio button found near the bottom of the window. The “Remote login” and “With password” text boxes become active to be filled in.

In the “Remote login”, enter “Admin” as the login user. Leave the password text box blank. I have tried to search the Microsoft site and the rest of cyberspace, using Google why this is needed like this, but as of yet have not found an answer. Anyway, it works as is.

You can cow click the “OK” button. Your linked server is now created as an object under linked servers node. Expand your linked server node. Then expand the “Default” Node. You will see two nodes, a Table and a View node. Expand the Tables node to see a list of table objects for the folder you stipulated.

Selecting Data

So now that you have created a linked server to your dbf files, and have seen that you can actually view the table objects. You have to conclude that it is working, right. Well in order for this to actually work you have to retrieve data. So lets go ahead and try and retrieve data.

In EM, open up a query window from within a valid MSSQL database, and type in a select statement. Now there is a slight difference to the select statement. In fact, it would be to the actual table name. You have to include the linked server and table name in a four part address. Namely, [LinkedServername]…[TableName]. Notice the three (3) periods between the linked server and the table name.

So type in a select statement like this, obviously substituting your Linked Server name and Table name and Column names.

select * from Santam…gl.

Now you can use almost any select statement. Things like joins, sub-queries, order by, where, cast, case etc. Lets try a order by and a where clause. Type in your query, I tried:

SELECT * FROM Santam...gl where Glcode > 30000 order by Date desc

I retrieved over 10000 rows in 2 seconds.

Joins are just as easy. You can join your dbf tables as well as other SQL tables as well. Lets try a simple dbf Join. To join two dbf tables I typed in:

SELECT a.account,a.date, a.amount, b.glm_stdesc FROM Santam...gl a
inner join Santam...glacc b on a.glcode = b.glm_accountglacc

Do sub-queries work? Well lets try it out. I typed in:

SELECT a.account,a.date, a.amount, b.glm_stdesc FROM Santam...gl a
inner join (select glm_accountglacc,glm_stdesc from Santam...glacc where glm_type = 'Capital') b on a.glcode = b.glm_accountglacc

And retrieved 5 rows.

So the next question that one asks, is can we join current SQL tables with linked dBASE tables. After all, you wouldn’t want to go through a whole import procedure every time you want relevant data from your dbf tables in your MSQL app. Especially if your dbf table and data is still live.

Sure you can. Test it out. I typed in:

SELECT a.account,a.date, a.amount, b.glm_stdesc, b.glm_type, c.description FROM Santam...gl a
inner join Santam...glacc b on a.glcode = b.glm_accountglacc
inner join Insyear c on a.period = c.period

So as you can see, we can use almost any select statement to retrieve our dbf data. I have not tested every SQL statement, but the most common ones work. Also note, that you can view dBASE memo fields, but you cannot see or view binary, blob data. This is because this type of data is generally stored in a separate file (DBT) and I don’t think MDAC understands it or the link to the external DBT file.

Updating Data.

What about updating data. Well this can also be achieved. I would be cautious though, as I haven't tested every possibility, I therefore do not know if it is totally compatible. But I have been able to update data.

I tried this statement:

Update Santam...claims set notes = 'This is a note update from MSSQL' where policyno >0

A note: “notes” is a memo field in my dbf table and it updated fine, with no problems. I viewed the table in dBASE, and it was perfect. Next I tried to update an indexed field, but not a keyfield though.

Update Santam...claims set policyno = 770 where claimkey = 63

Another note: I had the dbf table open in the IDE, and my row pointer was sitting on the intended row. It update fine with no problems.

Importing Data

If the above worked flawlessly, then importing data is a breeze. To import data you can then make use of one of two SQL statements. Namely the select into and the insert into. Both will work perfectly.


If you want to include you dBASE data in your new MSSQL app, but still want to keep the dBASE data alive. If want the ability to update you dbf data through a MSSQL query, the the good news is, you can, with a linked server to you dbf data folder.

This means that you can create views, write SP’s and use you dbf tables in any MS product, like C#, that can access MSSQL.

Your dBASE dbf data is not dead yet.

Note:Make sure that the 'Distributed Transaction Coordinator' service is running
on your server.

Saturday, October 4, 2008

Accessing dBASE tables with MS SQL

For years the dBASE (dbf) table format had been very popular to store data in. Many third party applications included ways to import and export to the dBASE (dbf) file type.

This stopped at dBASE 5.0. Since then the dBASE table format has evolved and is now at level 7. The sad news is that third party application developers have not included the ability to import and export to this format.

This might be as a result of third party vendors not considering dBASE as a viable alternative or that the authors of dBASE have just not seen a need to write a driver to access their data.

Either way the need to access dBASE data has dwindled over the years. Never the less, there are still large amounts of data still stored in this format. So, if you have a place where data is stored, then you should be able to retrieve that data.

With many moving over to the more robust, faster, secure database servers like MSSQL, accessing this dBASE data becomes increasingly difficult.

How then do you access your data in dbf format from MSSQL, having the ability to join that table to your current data? How can one import dbf data?

There might be many ways to achieve this, one of which you can export your data to a format that can easily be imported into MSSQL. This can be a labour intensive operation, especially if your dbf data is still live and changing continuously.

Fortunately, MSSQL has a few methods of accessing other data. Two of which are:

1. Using OpenRowset.
2. Creating a linked server.

Both methods can be used to access live data, negating the need for an import facility, and also allowing you to do normal joins and other SQL stuff.


The OPENROWSET feature in SQL Server and MSDE provides a fast and easy way to open an OLE DB compatible data source, such as an Excel sheet or dBASE data, directly from your SQL script. Coupled with the "SELECT * INTO" command, the OPENROWSET feature can import data from your other data sources into a table in SQL Server or MSDE. You may even want to just use the data in a view or join.

Openrowset should be used in cases when access in not required on a regular basis, ie. as in adhoc queries. When data is accessed several times, a linked server should then be used.

The OpenRowset function in its simplest form carries the following syntax.

OPENROWSET (provider_name,provider_string,query_syntax)

So to access dBASE we would use the following syntax:

OPENROWSET('MSDASQL','Driver={Microsoft dBase Driver (*.dbf)};
DBQ=[Path to data];
SQL Query)

This assuming you have at least mdac2.6 installed. So we could issue the following:

OPENROWSET('MSDASQL','Driver={Microsoft dBase Driver (*.dbf)};
DBQ=D:\dbase Work\R3\Santam\Data;
'SELECT top 1000 * FROM gl')

This returned over 14000 rows without a query plan (first run) in 2 seconds. Once the query plan is stored it is a second or less.

Now you can use any SQL query, (Note: I haven't tested every single query), as in:

FROM OPENROWSET('MSDASQL','Driver={Microsoft dBase Driver (*.dbf)};
DBQ=D:\dbase Work\R3\Santam\Data;
'SELECT * FROM gl where GLcode >30000 order by date desc')

How about a join within the openrowset query:

FROM OPENROWSET('MSDASQL','Driver={Microsoft dBase Driver (*.dbf)};
DBQ=D:\dbase Work\R3\Santam\Data;
inner join glacc y on y.glm_accountglacc = x.glcode

How about a join of two openrowset queries. Remember that the data source does not have to be dBASE. You can access Excel (tested up to 2003), text files etc. But we are using dBASE here just to show you the ease of it:

FROM OPENROWSET('MSDASQL','Driver={Microsoft dBase Driver (*.dbf)};
DBQ=D:\dbase Work\R3\Santam\Data;
inner join glacc y on y.glm_accountglacc = x.glcode
') a
inner join
OPENROWSET('MSDASQL','Driver={Microsoft dBase Driver (*.dbf)};
DBQ=D:\dbase Work\R3\Santam\Data;
'SELECT * FROM glstaccount') b
on a.glcode = b.glkey

Now what about adding your own newly created data in MSSQL to the pot. So you can now join dBASE data, what about joining that to a SQL table or two.

FROM OPENROWSET('MSDASQL','Driver={Microsoft dBase Driver (*.dbf)};
DBQ=D:\dbase Work\R3\Santam\Data;
inner join glacc y on y.glm_accountglacc = x.glcode
') a
inner join
OPENROWSET('MSDASQL','Driver={Microsoft dBase Driver (*.dbf)};
DBQ=D:\dbase Work\R3\Santam\Data;
'SELECT * FROM glstaccount') b
on a.glcode = b.glkey
inner join dbo.Insyear c on a.Prop = c.Period

So as you can see, your imagination can run wild. No longer does your dBASE data have to be side-lined. No longer do you have to pull your hair out trying to figure out how to access your dBASE data.

But what if you just want to import the data and start over. Well we make use of a very nice statement, select into … Which will create a brand new table for us.

SELECT Glcode, Account, ContAccountgl, Amount, DC, Glm_stDesc into openrowsettable
FROM OPENROWSET('MSDASQL','Driver={Microsoft dBase Driver (*.dbf)};
DBQ=D:\dbase Work\R3\Santam\Data;
inner join glacc y on y.glm_accountglacc = x.glcode

So there you have it. Working with dBASE data in MS SQL.

Next we will look at how you can use a linked server to dBASE dbf tables to view and read your dBASE data.

Monday, September 1, 2008

Is there a problem with dBASE? Is it becoming obsolete?

I've been working with dBASE since the first dBASE for Windows, in early 1996. The development team of my company has written in dBASE, and marketed, more than one hundred programs of the most varied characteristics:

  • Commercial Management, billing and warehouse.
  • Control patients in hospital services as Neurosurgery and Nuclear Medicine.
  • A program that thousands of users downloaded from a financial company to gain access to the movements of their accounts without needing to be connected.
  • Programs that use banks for their own services.
  • Management College professional who is used throughout Spain
  • Management communities irrigators.
  • Management service water council.
  • Creating a working framework itself that has enabled us to write an expert, based on templates, which generates the framework of a comprehensive program in just ten minutes.
  • Creating a scripting language with flow control structures and facilities for local variables that can be integrated into programs.

We have our developments ido adapting to new versions of dBASE so that over 80% of our programs are used and improvements in the latest versions of dBASEPlus, the rest is almost everything in dB2k and only 3 programs are operating in dBASE 16 bit (Visual dBASE)
dBASE for Windows is the product with which we feel more comfortable to program in Windows, which could best take advantage of all our experiences Clipper, which was the language we used in DOS.

Robert Bravery recently wrote that, among other things, he liked dBASE command line. What I like in dBASE is that I write using the dBASE at the command line.

So far, virtually everything we want to do with dBASE, in one way or another, we have done.

But ... and here comes what in my opinion is being dBASE becoming more and more obsolete.

In the IDE

The program editor is poor, very poor. The visual design tools are well but are a small part of the program. Most of the time spent in the program editor and when you're using in each project multitude of functions and classes with their methods and properties, both the kernel of language as their own, the minimum that you would expect from an editor is having completion of functions, variables and classes, highlighted and analysis of syntax, that all the explanations we have written to document the methods available when we are going to use. An editor style of PHPEd Nusphere or any of the modern editors is essential for an IDE who wants to live up to the times.

Tools documentation javadoc-style or phpDocumentor, but obviously can be programmed in dBASE contribute to this modern IDE.

In implementing OOP

The implementation of the class system is simple… too simple way for current programming.

Unable to define an interface and ask your programmers to implement this interface in a particular class. Obviously I can tell my programmers who inherit a particular class and give content to all methods that there are defined but at doing so I’ve to trust my developers because there is nothing in the language which obliges them to do so.

I can say that a property or method is protected and therefore can not be used outside the classroom, but I can not say that a method is final and can not be overwritten by legacy or a method that is private and can not be used by classes inherited…

Unable to define abstract classes or successfully implement methods static.

You can not easily implement patterns as Singleton.

The data access

It is necessary to eliminate the dependence of BDE especially issues of coexistence with other applications based on BDE.

The platform

With the emerging Linux operating system Ubuntu style, if we had a development tool such as dBASE for such environments would have a market with great potential, why I need more independence from the approach the platform. NET. This is simply dreaming…

By Juan Pedro

Sunday, August 24, 2008

What is it that I like about dbase?

dBASE has been really the only PC programming language I have used over many years. I programmed on the mainframe while working, but still had dBASE II, III, III+ and on and on. I have the latest version but have stayed with Visual dBASE.

I just got a request to update a program that was originally written in dBASE III by the owner of a business. I moved it to Visual dBASE in 2003. It has run 5+ years on a small network all these years. Code requirements have changed so am updating the program. I have another business that has used their program for billing for 10+ years. I do data collection for a dog registry and the program was written in 2003 (in dBASE IV).

What is it that I like about dbase you might ask?

Newsgroups - I can remember logging on to the news group using a 1200 Baud modem. WOW - I thought that was so neat and the information gained was very valuable.

What I have learned - skills learned from the news groups helped me to be able to qualify for a position with a government contractor - dBASE programmer. This was after I retired from Civil Service.

The People - A group I could always rely on to get answers to questions - and the answers were always right.
Passing information on to the dBASE community - I was a contact instructor for Ashton Tate and yes I passed on information found or provided by the news group.

Passing information on to others - I hope I have done this over the years.

Over the years a few of you have become friends that I still count on and am in touch with today.

Great group of folks...

Barbara B.

Friday, August 22, 2008

Does Anybody Actually Care?

Oft times you lie in your bed and dream. Dream of a brighter future. Dream of great things. Dream of things you do not have and of things you do have. Dream of impossibilities. Dream of changing the world.

I love programming. I am a geek. I love anything computers. I started out with an old IBM PC, with 512k ram. Got hold of dBASEIII+, took out the manual and began teaching myself. I got a great sense of satisfaction when my first small app actually worked.

Today I still get that same satisfaction when a program, application, web app actually works. One of the reasons for that continued feelings was a product called dBASE. dBASE made me feel like I was part of the big guys. A real programmer.

I am passionate about programming.  I am passionate about dBASE. So I asked myself, what can I do to help drive that passion. Help keep it alive, with me and with others. In starting up an Internet type company, I soon realised that Blogging has such wonderful potential. It could be a great form of advertising, and marketing.

So I set up a dBASE blog. I opened it up to the community. The dBASE community. Those whom I thought had the same passion about programming and about dBASE that I have. I invited any, many, all, to join me in this new blogging experience. Get the name of dBASE out there. If nothing else, many blogs would thrust keyword terms into Google search. Terms that are pertinent to dBASE, to programming would eventually get their high ranking in Google.

This would definitely elevate the visibility of dBASE to those who think it dead. But for this to happen, you have to have content. Content is KING. You have to have lots of it. Not only do you have to have lots, but you also have to have quality. With this Google would have to return pages in the top rank with at least a few dBASE related sites, blogs, and news articles. People would then have to sit up and notice.

I opened this up to anyone. I begged and pleaded. But none would come. All I got was criticism. Well not all. There were some who were helpful and neutral. But still no one responded. Those who are stalwarts, or so they claim, seemingly would not even lift up a finger to type something about dBASE.

This makes me wonder. Do they actually support dBASE, do they actually care about dBASE, or are they hyper-critical and just have an argumentative character. It’s no wonder that a great thing like the dBulitten closed down. No one was interested. Yet there are so many complaints when a slightly negative thing is said about dBASE.

What confuses me, is that if one loves a product so much. Why would you not take every opportunity to promote it. This is customer and brand loyalty. The lack of response only draws me to one conclusion. There is no customer loyalty. There is no brand loyalty. It would then seem that a lot of people only use dBASE because they have no choice.

You might say, but people are busy getting on with their lives, they are busy with business. There is no time to write articles. Yet I find this strange, when some can write lines and paragraphs of text that aim to ridicule and mar ones character and good intentions. Come on, you mean to tell me that no one in the dBASE community has at least 15 minutes to write one or two paragraphs on dBASE. I find that extremely hard to believe.

I am disappointed, hurt, angry. I wonder does anyone really care, or is it just a facade. Put you money (or article) where you mouth is.

I am disappointed because I thought that this would be a good thing. That people would jump at the offer, that I would be the one to not have any time as I manage this blog.

I am hurt because my good intentions were turned to dust, ridiculed and criticised.  My intentions were questioned.

I’m angry, because I have wasted time to try to help those who would seemingly love dBASE, where I could have spent more time and effort promoting my own web site, writing blogs about my own business. Am I wasting time gleaming through the dBASE news groups looking for people to help?

I am angry, hurt, confused, disappointed, because no one will help me. The proof is in the pudding I guess. The test has failed.

All I can say is, SHAME.

Wednesday, August 20, 2008

Don't Ever Give Up.

Most know of the great overpowering giant called Microsoft. Many of the small software operations either die out, or are completely overshadowed by the giant beast. Sometimes Microsoft will just devour them. When you have been with a programming language for close to 20 years, changing to another one is a frightening and daunting task. Nevertheless it can be done. I did, so you can too. The trick is to start and take small baby steps. Here is a rehash into the modern age of an old cartoon that should embody the fight of the small guy.

\Dont GIve up\

Tuesday, August 19, 2008

What has dBASE Taught You?

As I was contemplating what to write, I was thinking about the various programming languages I was using to write programs with.

So at one stage I had on my PC:

  • Delphi
  • VB6
  • Visual Studio 2003
  • Visual Studio 2005
  • dBASE III+
  • dBASE IV
  • dBASE 5.0 for DOS
  • Visual dBASE 5.7
  • DB2k
  • dBASE Plus
  • PHP
  • Perl
In the database arena I had:
  • MS SQL 2000
  • MS SQL 2005
  • Pervasive
  • mySQL
  • Access.
Before you say anything, Yes I was either using them or at least testing some of them out.

Wow was I crazy or what? How could one learn all those languages? How do you choose. Well fortunately for me, I had already learned dBASE. What does that mean?

dBASE in my opinion was ahead of its time. With its implementation of OOP, Inheritance and class design, it beat everything out there at the time. Learning it was a big struggle and an up hill battle at times. But I eventually got my head around objects, event driven programming, properties, etc. When I was talking of OOP, most other programmers that I spoke about weren’t even in the same league.

The rest of the world has now caught up, and some say passed dBASE by. I have started to learn other languages. I thought that it would be difficult. But surprisingly I understood most of the concepts that were employed in theses new languages. It was uncanny that even some of the syntax was very similar. Java, for instance, and dBASE have a strikingly similar resemblance as far as the syntax. There is even similarities in C#.

But what meant the most was the processes that I learnt while using and learning dBASE. Things like OOP, inheritance, classes, properties, methods, modular programming, events, all cam natural to me. The only thing that I had to relearn was the syntax.

Yes, I have a great respect for what dBASE taught me about programming. Things that came natural to me, others spent years trying to figure out, or thousands of Dollars to learn.

How has dBASE helped you in the field of programming? What about the dBASE news groups and the people there? Have you learnt a lot? Also, how have you passed on those lessons to others? Not only to the dBASE community, but to others also.

Leave a comment if you like? I would appreciate it.

del.icio.us Tags: ,

Technorati Tags: ,

Monday, August 18, 2008

What do you like about dBASE?

I put up this blog to write and ramble about dBASE. Good or bad. The way I see it. I have also challenged many to write their thoughts here as well. My previous blog about dBASE and history as I saw it, was met with much criticism. How ever no one has yet had the courage to come to me and write something positive. Do I take it that they too have nothing to say, that they are afraid of what others might think of them?

At least I speak my mind, and hopefully speak the truth. I blogged on factual matters, as I saw them. They have yet to be disputed.

I love dBASE, have always done. Its just that the world is running away from me and dBASE, and I cannot make ends meet. I cannot make a living as a dBASE programmer. There is not enough work, and yes in a way I do blame DBI. There was an opportunity that I believe they missed.

So here we are. Do I hate dBASE? No I do not. Do I hate DBI? Again No. Do I have issues? Probably Yes. So if I do not hate dBASE, what is it that I like about it? Well I will tell you, at least I have the guts to say so.

  • One of the best things I like about dBASE is the IDE and the command prompt in particular. I love the way you can interact with data one line at a time. I love the way you can query the database with out the need to write complicated code.
  • The other thing I like about dBASE is its inheritance, OOP, and custom classes. You can sub class anything with out any rules or regulations. And it is so simple. I mean you just inherit from a form, class or subclass. Yes Other languages have this as well, but dBASE was ahead of its time.
  • Another thing is its modular approach. I mean a form can be run with out any problems by itself as well as within the whole app. You do not have to compile the whole application and run it, just to test out one form. Especially if you are making lots of changes to that form and need to test multiple times. It does become a pain when you have a huge project and you want to test one small part of it, you have to wait for the whole project to compile before you can test. To me that's a pain.
  • I prefer the Datamodule over and above datasets of VS. It has more power and is more flexible and easier to understand.
  • I really love dBASE’s arrays. They are so powerful and easy to use. What about the AssocArray, those I think are cool as well.
  • Whether it be a curse or a blessing, but I really love the dynamic language. I mean the ability for variable to self type. yes this can get you into trouble, but isn't it cool to just say x = 6, instead of declaring x as an integer and then passing it the value, or worrying if x is declared or not.

These are just a few things that spring to mind. Can you think of any others? Is there anything in particular that you like about dBASE as compared to anything else out there?

Come on lets hear what you like? Lets hear what you have to say?

del.icio.us Tags: ,,

Sunday, August 17, 2008

Is DBI going the way of Ashton-Tate, Is dBASE dying a second death?

I have just read an article about the supposed demise of Vista, and in particular Microsoft. The author goes on to say the the demise of Vista would be due to its continual hold on compatibility. He says that the OS is bloated, they have added and added functionality and not taken any out. He compared this with the demise of Ashton-Tate and dBASE, and mentions that this too was as a result of continued bloating of the software due to compatibility.

In 1988, dBASE had 63% market share of the database market. Not only the PC database market, but apparently the entire database market. Ashton-Tate was on top of the world, and knew it. What happened to the beloved dBASE? How did the Big Giant fall? By 1989, dBASE's market share dropped to 43%. A 20% drop in just one year. When Microsoft Access came out in 1992, they took over the world, especially in the desktop database arena, dBASE and many xBASE depravities were dead or dying. dBASE Crashed to the ground. In less than four years it was no longer heard of, except in legacy and niche markets. dBASE tried to regain what it once had. Eventually releasing a windows version. Also a 32bit windows version made it to the shelves. But it was like trying to blow up a deflated balloon with a thousand holes in it.

Doing a small keyword analysis. I found that the term dBASE returns only 153 daily searches on Google. I would venture to say that probably a large majority of people using the search term are using it and meaning “Database”. Where as something like “Visual Basic” return over 2300 daily searches, and “.NET” close to 3000. Although this is not conclusive, it does make a point

Trying to keep their compatibility with the old, i.e. DOS, and trying not to loose their DOS based Customers is what eventually killed dBASE.

dBASE had to be Backward compatible at any cost. Ashton-Tate created extremely bloated and arcane features added it to the product in order to support such compatibility. Ashton-Tate believed the effort to switch would remain higher than the effort to keep using the product. In some cases it was true, in many, not. People across the world switch to windows based software, and along with it to software packages that supported the new OS, like Access.

Today we are sitting at .NET 3.5 CLR. Window 7 (Vista’s Successor) has been announced. The world is moving to .NET. Everything is .NET, ADO.NET. Borland, previous owners of dBASE, has switched over as well, many other xBASE products have made the leap. They have left the com32 compatibility boat behind.

Yet for some reason, DBI and dBASE have chosen not to go the .NET route but instead have decided to be backward compatible with com32 applications and the com32 market. Is this history repeating itself. Has DBI not learned from past mistakes about compatibility. When we are so many versions and so many years away from com32, dBASE still keeps compatibility with that historical and dying market.

It is probably too far now do make the huge jump over to .NET3.5 and the only thing going for dBASE and DBI is probably their small market and their faithful following.

As I look and frequent the dBASE news groups, I do not see the activity I once saw, even though it was then still very low, when compared to other competing software news groups. I do not see some of the old names there any more. Where have they gone? To me, it seems that the dBASE market is still dropping. How far will the drop go until all give up and there is a mass exit.

I believe that the eminent demise of dBASE will be as a result of their stubbornness to keep their product compatible with the com32 market and their faithful few. Yes, it would have been a cost to start the journey down the road and follow the rest of the world. It would have been a cost to go the .NET group. But now the cost is so much more, that you are almost forced to stay were you are. I believe dBASE could have benefited from going the .NET route. Because of the way the CLR is constructed, I believe that dBASE would have gained a significant increase in their market share. Because of the CLR, a lot of functions that are well known in either the likes of VB and C# would have been the same in dBASE, thereby bringing comfort to millions.

Yes, DBI is starting to look at .NET, or at least some part of it. But I think that the horse has bolted and that now its a bridge too far.

Oh how I had wished and hoped that dBASE would one day rise again. How I wished that I could boast again of this great software. How I longed to compete with the rest of the world. But alas it was not so. If dBASE had learnt from its own history, I believe they would have had much more market share than what they now have, including me.

What do you think? Do you think that dBASE is on its last breath struggling to survive? Do you think that it should go .NET? (Vote on the side bar). Do you think many more faithful will leave, or do you think that dBASE has what it takes to gain more market share? Leave a comment.

del.icio.us Tags: ,,

Technorati Tags: ,,

Saturday, August 16, 2008

We were once dBASE

dBase was one of the first widely used database management system (DBMS) for computers, published by Ashton-Tate for CP/M, and later on the Apple II, Apple Macintosh, UNIX[1], VMS[2], and IBM PC under DOS. The popularity of DOS and the PC gave dbase what it needed ehrn it became one of the best-selling software titles for a number of years. I remember starting out with my first program. Reading a dbase manual. A blue soft coloured book, with white font. It had an accounting sample that was used throughout the book as a tutorial. dBase never really moved successfully to Microsoft Windows and as a result gradually lost market share to competitors such as Paradox, Clipper, FoxPro, and Microsoft Access. Ashton-Tate was bought by Borland in 1991, which sold the rights to the product line in 1999 to the newly-formed dBase Inc. In 2004, dBase Inc. changed its name to dataBased Intelligence, Inc.

In the mid 1980s many other companies produced their own dialects or variations on the product and language. These included FoxPro (now Visual FoxPro), Arago, Force, dbFast, dbXL, Quicksilver, Clipper, Xbase++, FlagShip, Recital, CodeBase, MultiBase and Harbour/xHarbour. Together these are generally referred to as xBase. I Remember using the clipper compiler to produce dbase exe's Also there was the Quicksilver compiler which I used successfully.

dBase's underlying file format, the .dbf file, is widely used in many other applications needing a simple format to store structured data.

dBase has evolved into a modern object oriented (OOP) language that runs on 32 bit Windows. It was probably ahead of its time, and even more OOP than the likes of Access and Visual Basic at the time. It can be used to build a wide variety of applications including web apps hosted on a Windows server, using the CGI or COmmon Gateway Interface. It mostly used to build Windows rich client applications, and middleware applications. dBase can access most modern database engines via ODBC drivers including the likes of MS SQL, Oracle, Postgres, mySQL.

dBase features an IDE with a Command Window and Navigator, a just in time compiler, a preprocessor, a virtual machine interpreter, a linker for creating dBase application .exe's, a freely available runtime engine, and numerous two-way GUI design tools including a Form Designer, Report Designer, Menu Designer, Label Designer, Datamodule Designer, SQL Query Designer, and Table Designer. Two-way Tools refers to the ability to switch back and forth between using a GUI design tool and the Source Code Editor. Other tools include a Source Code Editor, a Project Manager that simplifies building and deploying a dBase application, and an integrated Debugger. dBase features structured exception handling and has many built-in classes that can be subclassed via single inheritance. There are visual classes, data classes, and many other supporting classes. Visual classes include Form, SubForm, Notebook, Container, Entryfield, RadioButton, SpinBox, ComboBox, ListBox, PushButton, Image, Grid, ScrollBar, ActiveX, Report, ReportViewer, Text, TextLabel and many others. Database classes include Session, Database, Query, Rowset, Field, StoredProc and Datamodule classes. Other classes include File, String, Math, Array, Date, Exception, Object and others. dBase objects can be dynamically subclassed by adding new properties to them at runtime.

Over the years dBASE has struggled to get a foothold in the market and become the dominant force it once was. Although there still is a, perhaps, fanatical following. Those who still believe it to be the best tool for the job. There are also those who have on many occasions criticised the company, now DBI, for their numerous blunders and bad PR. As a result many of the faithfull have left and perused other alternatives.

This blog has been set up for any who would comment on dBASE, write articles for and against. A place where you can vent your anger, or express your praise.

Thanks to the contributers of wikipedia
Website design, web development, web hosting and Search Engine Optimization