Subscribe to this list via RSS Blog posts tagged in Databases

Posted by on in Blogs
New ODBC Driver for InterBase Borland has released a new ODBC driver for InterBase. This driver is available for free to anyone with a registered version of InterBase 7.x, and can be redistributed without charge to anyone with a licensed version of InterBase. The driver, which is produced by DataDirect, has better support for InterBase stored procedures than the old driver did. There is also support for silent installations. Borland also has a FAQ [PDF] about the new driver. Borland has also made version 2.5 of InterBase's A...

Posted by on in Blogs
Hyper-Threading and Shared CPU Cache Interesting post from Slava Oks on hyper-threading. The long and the short of it is that low-priority threads which touch a lot of memory can really hurt a high-priority thread on the other logical processor by trashing the shared cache. Yet another reason to disable hyper-threading on servers....
How to Retrieve the Native Handle of a TSQLConnection Let's say you want to share a connection to InterBase between IBX and dbExpress. For that you'll need to retrieve the handle used by dbExpress and then use TIBDatabase.SetHandle to tell IBX to use that connection. But how to get the handle from dbExpress? Martijn Tonies pointed me in the right direction, and I wrote the following sample code: procedure TForm1.Button1Click(Sender: TObject); var SR: SQLResult; iHandle: Longint; iLen: SmallInt; begin SQLConnection1.Connected := True; ...

Posted by on in Blogs
Database Workbench Martijn Tonies asked me if I wouldn't mind plugging Database Workbench, and I'm happy to do so. I've used the product for several years, and overall I find it to be a good match for my needs. Here are some things I like about the tool: The database metadata search is really nice, and seems reasonably fast. It picks up things that IB doesn't keep as formal dependencies. When I need to see how a DB column is used, this is the tool I turn to first. The stored procedure syntax checker is quite usefu...

Posted by on in Blogs
SQL on Rails SQL on Rails is my favorite April fools joke this year. Don't miss the screencast....

Posted by on in Blogs
InterBase Roadmap Presented in Tokyo DavidI presented a roadmap for InterBase in Tokyo, which covers versions 8, 8.5, and 9, and describes the currently planned features for InterBase up through late 2007. You can download his slides [PDF]. Thanks to José Luis Rocha for the link. Here's the condensed version of the IB roadmap as it currently stands. Please note that roadmaps are by definition works in progress and hence planned features may change before the products are released. This is a plan, not a promise. InterBase 8.0 Curren...
4GB Virtual Address Space for 32-bit Apps in WoW In the beginning, Win32 apps had a 2 GB virtual address space. The /3GB boot.ini switch allows you to increase that, and, consequently, break any apps which presumed it could never be higher. After a good long while, many apps were updated to support /3GB. Delphi 2006's memory manager can deal with it, for example, and you can give /3GB support to apps built in older versions of Delphi by using a third-party MM such as FastMM. Keep in mind, however, that it's not just your own EXE which must be ...

Posted by on in Blogs
Database Workbench Cheap This Week Upscene Productions are offering a 75% discount on their Database Workbench tool for one week only to celebrate its five year anniversary. DBW supports InterBase and several other popular databases....

Posted by on in Blogs
Don't Combine DataSnap and ADO For the second time in two weeks I have seen someone post a question about a project which uses (non-.NET) ADO and DataSnap (a.k.a. MIDAS, TClientDataSet) together. Don't combine these! ADO and DataSnap do almost the same thing. Some people have speculated that ADO was more or less a recreation of DataSnap. There is no need to combine them; putting one abstraction layer on top of another is asking for performance problems at a minimum. Choose the one you want to use and stick with it. Don't beli...

Posted by on in Blogs
On "Random" Errors From time to time people complain that an error happens "randomly." This is understandable coming from a user without a technical background, but coming from a programmer it's nothing short of self-deceptive. Those who want to fix bugs instead of giving up on them or blaming them on someone else's mistake would do well to avoid this mindset. True randomness on a computer is remarkably difficult to achieve. [PDF] Short of hardware thermal failure, it's highly likely that the bug you are seeing is...

Check out more tips and tricks in this development video: