Wednesday, August 25, 2010

DelphiLive Conference

We attended the DelphiLive Delphi developer conference in San Jose California once again this year. Although it was a very small event we had many good discussions with developers, including some of our long time Advantage customers who attended the event.

Embarcadero announced the launch of the latest product RAD Studio XE, which includes Delphi, C++ Builder, Delphi Prism and RadPHP tools. There were also many other great sessions from many great speakers including Cary Jensen, Jim McKeeth and of course David Intersimone. There was also an "Meet the Team" event where members of the Delphi engineering team were available to answer questions.

Cary_DelphiLiveOne of the big announcements we made at the show is the release of the next Advantage Database Server book written by Cary Jensen. The book is titled Advantage Database Server: A Developer's Guide, 2nd Edition and has been updated to include all of the changes in Advantage version 10.

There is a companion web site to go along with the book which provides code downloads as well as some additional chapters. In fact, you can download all of the chapters included in part three of the book which covers accessing Advantage data. Each chapter covers a different development platform such as Delphi, Visual Studio, Java and several web platforms.

Friday, August 13, 2010

TechWave Recap

TechWave2010_Presentation The annual Sybase Developer's conference TechWave was held this past week in Washington DC. There were over 750 attendees from around the world in attendance. John Chen wasted no time in discussing the recent acquisition of Sybase by SAP stating "There will be no road map changes at all" during the keynote. This is great news for Advantage and all of the other Sybase products. You can get more information about the keynote on Eric Lai's blog UberMobile.

Over the three day event we taught sixteen Advantage classes and there were over 150 classes offered throughout the conference. As always we had a very enthusiastic and energetic group of Advantage developers for our sessions. If you have a MySybase account you can access the presentation archive here.

TW2010_Mike Like our Sybase DevDays events that we did earlier in the year many of the sessions highlighted the new features of Advantage version 10. One of my favorite sessions is the Advantage 10 Live where Mike Hagman and I demonstrate several of the new features using an interactive format. The demonstrations are designed to show practical uses for the new features with typical use cases.

The performance discussion and demonstrations are always well received. There are several significant performance improvements in Advantage 10. These include improved transaction performance, improved stored procedure execution, binary indexes as well as multi-client performance. The live demonstrations show the performance of Advantage 9 vs. Advantage 10 as we discuss the underlying features responsible for the performance improvements.

Overall, I really enjoyed the event and interacting with the Advantage users in attendance.

Monday, August 2, 2010

FAQs – July 2010

Returning Custom Errors from a .NET AEP

When writing Stored Procedures in an external library custom error messages can be returned by adding the messages to the __error table. This is similar to the RAISE command in SQL scripts. Here is an example from the .NET AEP template

catch (Exception e)
{
  IDbCommand oErrCommand = oStateInfo.DataConn.CreateCommand();
  // Handle any exceptions here. Errors can be returned by placing a
  // row into the __error table.
  oErrCommand.CommandText = "INSERT INTO __error VALUES( 1, '" + e.Message + "' )";
  oErrCommand.ExecuteNonQuery();
}

In version 10 the __error table is not being populated correctly when the stored procedure has input parameters defined. This will be fixed in a future release of Advantage. If you need to return custom error messages consider using an SQL script for the stored procedure or returning the error message in an output parameter.

.NET Data Provider Versions

There is a .NET Data Provider for both the 1.0 and 2.0 .NET Framework. The Entity Framework Provider only works with the 3.5 and newer .NET Framework. There are a few differences between the 1.0 and 2.0 versions of the .NET Data provider. You can tell them apart by their version numbers 9.10.1.x and 9.10.2.x respectively.

If you are using the AdsConnectionStringBuilder you must use the ADO.NET 2.0 version of the .NET Data provider. The AdsConnectionStringBuilder is not available in the 1.0 version of the Data Provider.

The Advantage.Data.Provider.dll is included in three different folders under C:\Program Files\Advantage X.X\ado.net, by default. There is a 1.0 directory, a 2.0 directory and a redistribute directory. The redistribute directory contains the ADO.NET 1.0 version of the provider.

Refreshing of the AdsServer.ini

Generally changes to the AdsServer.ini file will be applied by the server quickly. Both the Windows and Linux versions of the server check the file regularly for changes. However, if the file does not exist when the Windows server first starts up it will not check for the file until it is restarted.