Baron Software Supports IDERA DB PowerStudio

Idera Powerstudio

Baron Software Supports IDERA’s DB PowerStudio

Baron Software is a longtime user of IDERA’s DB PowerStudio which assists us in dealing with our clients in maintaining thousands of mission-critical multi-platform databases that are used for data warehouses along with highly robust data driven applications,” said Richard Baroniunas, software developer and DBA at Baron Software. “It is an utmost priority to use the absolutely best monitoring and troubleshooting software for our clients. All of Baron Software’s clients deserve the best software tools on the market and that is the reason IDERA’s DB PowerStudio suite is always used. The newest release of DB PowerStudio will create the client satisfaction that is our main objective.

Read the Businesswire article

Read the full article at BusinessWire.  Idera DB Powerstudio for various SQL servers give you the utmost ability to Develop SQL Code More Efficiently, Automate SQL Tuning and Profiling, Automate and Manage Complex Database Schema Changes and Perform Multi-platform Database Administration.

What does DB Powerstudio do for me ?

DB PowerStudio combines four innovative solutions to help build and maintain mission-critical database applications, streamline the database change management process, and quickly pinpoint and fix performance bottlenecks.

Get the following packages:

  • DBArtisan
  • DB Change Manager
  • DB Optimizer
  • Rapid SQL

DB PowerStudio is available in two editions: The DBA edition includes all four of the products listed above. The Developer edition includes Rapid SQL, DB Optimizer and DB Change Manager.

Supported Database Platforms:

  • Oracle 9i, 10g*, 11*, 12c*
  • SAP Sybase ASE 12.x – 15.x
  • IBM DB2 LUW 9-10.x and 11.x*
  • Microsoft SQL Server 2008, 2012*, 2014*, 2016*
  • InterBase 2007, 2009, XE, XE3, and XE7
  • Firebird 1.5, 2.0

Get the full support package that gives you the overall protection for any database you provide support for.

Baron Software has used the package for some time, we learn new ways of using the package and all of this works off of our notebooks when allowed to connect to the server.  Idera purchased the product from Embarcadero and is fully supportive for the future.

Baron Software

Saving SQL Column Headers Results

Baron Software

Saving SQL Column Headers Results

Sometimes you can run into problems that tend to take up time and could have been solved in a minute.  One of these strange problems is when you attempt to save a Microsoft SQL query result grid to a CSV file.

Using Microsoft SQL Server Management Studio (SSMS)

Now most of DBA or Developers tend to use the Microsoft SQL Server Management Studio (SSMS) to do the necessary general SQL work.  As you expected when you execute a query the results grid appears displaying the results.  I as countless others tend to copy the information and save it in an excel spreadsheet to do further analysis.  But there are times you may need to save the information into a CSV file for the purpose of processing the information later or with a different application.

If you use the option to save out to a CSV file you will notice that the column headers are missing and you are pretty much baffled.

A simple click to solve the issue

It is not you but apparently Microsoft decided not to default a simple setting that saves the column headers in your CSV file.  What you need to simply do is click on Tools – Options which will open the Options Dialog box.

In this Dialog box you will click on Query Results – Results to Grid.  You will see the “Include column headers when copying or saving the results”, click to enable it.  You should see the similar as the image below.  Click OK to close the dialog and will have to restart the Server Management Studio application for the settings to take hold.

MS SQL Server

This is something we all take for granted and by diving into the vast amount of options you can solve it.  So go ahead and take a look to see if you have it set or need to.

SQL Stored Procedures to get folder and files

 Baron Software

SQL Stored Procedures to get folder and files

There may be a time when you will need to get the file name contents from a folder for the purpose of using the information in your stored procedure.  The one undocumented stored procedure on Microsoft SQL Server 2016 is master.sys.xp_dirtree that you can use.

In your stored procedure, we will go ahead and create a temporary table that will store the files with their correct extension.  The first thing we want to do is check whether the temporary table was left over and remove it.  Usually when you close out a session temporary tables will be destroyed but it is fine to check and do house cleaning in  your stored procedure.

IF OBJECT_ID(‘tempdb..#FilesListing’) IS NOT NULL
DROP TABLE #FilesListing;

The next step is to create the temporary table again call it #FilesListing or whatever you wish to call it.  This table will have an identity field which will be seeded with 1 and incremented by 1.  The file name will be stored in FullFileName, you will see in a short period of time depth and isfile are used to store the information provided by the undocumented extended stored procedure; master.sys.xp_dirtree.

CREATE TABLE #FilesListing (
id int IDENTITY(1,1),
FullFileName nvarchar(512),
depth int,
isfile bit);

Preparing master.sys.xp_dirtree

master.sys.xp_dirtree has three parameters:

  1. directory – This is the directory you pass when you call the stored procedure; like our example of C:\TEMP.
  2. depth  – This tells the stored procedure how many subfolder levels to display.  The default of 0 will display all subfolders.
  3. file – This will either display files as well as each folder.  The default of 0 will not display any files.

INSERT #FilesListing (FullFileName, depth, isfile )
EXEC master.sys.xp_dirtree ‘C:\TEMP’, 1, 1;

You can play with changing the depth and file settings from 0 to 1 to see the different results you can gather.  Finally by placing a select statement from the temporary table #FilesListing will provide the results.

Select * from #FilesListing;

Wrap  up

Depth is 1 and file is 1 will show only the directory names in the results

capture

Depth is 0 and file is 1 will show the directory and the file names in the results.

capture

As you can see you can do a lot, one idea are nightly files deposited in a folder for the SQL Agent to kick off a stored procedure which needs to process them.  The performance is quick but you need to be extremely careful where you are pulling files from since listing the entries into the table may take a few minutes.

Nintendo announces the Switch game console

Nintendo announces the Switch game console for March 2017

Nintendo Switch There isn’t much information on the cost but it can be anywhere between $200 to $350 (USD).  This pricing is critical for Nintendo as to whether they think the Switch will compete against the Xbox or PS4.  Remember the Xbox one dropped it’s price since the PS4 was winning on the console war.  Does this mean Nintendo cares about the war or are they going their own way with their fans?

You can view the Switch console video which shows everybody either remotely, on planes, walking just playing their games.

 

“As proof that Nintendo maintains strong enthusiasm for the dedicated game system business, let me confirm that Nintendo is currently developing a dedicated game platform with a brand-new concept under the development codename ‘NX’. It is too early to elaborate on the details of this project, but we hope to share more information with you next year,” said the late Satoru Iwata said.   The machine he was referring to is the Nintendo Switch, revealed on Thursday 20 October 2016, although sadly, he passed away in summer of 2015, so would not get to deliver that news himself.

 

Possible Nintendo Switch specifications

We’ve seen what it looks like but we will have to wait to find out the Switch’s actual capabilities based on the video.  You will have a home base and the controllers can be hooked on the side of the console.  The console can be used remotely and has a kickstand to hold it up.   The controllers are small for the remote playing as well as a full hand size.

Will the video be capable of 4K Ultra HD video streaming, no one knows.  Rumors have the AMD GPU as the processor, it must be at least 1080p, no idea on the battery life but it must be as good as the Wii U or better.  It seems you can insert SD Cards or the games are going with that format instead of using disks.

It has been confirmed that alongside The Legend of Zelda: Breath of the Wild for Wii U, which has now been put back to 2017, an enhanced version will also be available for Nintendo Switch from launch day. Nintendo hasn’t officially revealed what other games will be released for sure, but several did appear in the preview trailer, including Splatoon, an enhanced version of Mario Kart 8, a Mario platform that looks like (and could be) Super Mario 3D World, a Switch version of Skyrim, and NBA 2K17.

All in all, it is great that Nintendo has created something that will take the place of the disappointing Wii U and why would I need any game boys from this point.  The key for the Switch are the graphics. If they cannot compete against the Xbox or PS4 they will drop in profit and come up with another dud.  But the Switch looks really promising and March 2017 cannot get here soon enough.

 

 

Getting performance statistics for cached stored procedures

Baron Software

Getting performance statistics for cached stored procedures

It is always extremely important to maintain your SQL server to the utmost efficiency.    DBAs review the database structure and whether certain pieces such as stored procedures, triggers, etc. can be tuned even further.  One of the areas that will be discussed are the stored procedure which can be used during any time as well as day.

 Dynamic Management Views and Function (DMVs and DMFs) to identify resources used by stored procedures

DMVs and DMFs were introduced in SQL Server 2005 and are able to obtain figures only for those stored procedures that have execution plans in the procedure cache.  The SQL Server engine starts gathering information about the performance of a stored procedure the first time that  the plan is placed in the procedure cache.  As long as the stored procedure’s execution plan stays in the cache, SQL Server keeps updating the performance figures every time the stored procedure is executed. If the execution plan for a stored procedure is dropped from the procedure cache then the metrics for the stored procedure are also removed.  Therefore you will only be able to obtain metrics for those stored procedures that have cached plans, and those metrics will contain a summarization of the amount of resources used since the stored procedure was compiled, and its’ execution plan was placed in the procedure cache.  One thing to keep in mind is whether you are using the SP_RECOMPILE procedure for any or all stored procedures, that will remove the statistical information.

sys.dm_exec_procedure_stats

This DMV was introduced with SQL Server 2008.   By using this DMV, you can returns metrics for stored procedures, but it does not directly identify the stored procedure by name.  Instead, the DMV only identifies the object_id, and a database_id for each stored procedure:  Therefore to identify the actual stored procedure name, that the performance figures belong to, you should either join the output of this DMV with one of the system views within the appropriate database, or use a few metadata functions.

SELECT TOP 10
       fld.object_id,
      fld.database_id,
      OBJECT_NAME(object_id, database_id) ‘SP name’,  
     fld.cached_time,
     fld.last_execution_time, 
     fld.total_elapsed_time, 
     fld.total_elapsed_time/fld.execution_count AS [avg_elapsed_time], 
     fld.last_elapsed_time, fld.execution_count 
  FROM sys.dm_exec_procedure_stats AS fld
  where database_id <> 32767
  ORDER BY [total_worker_time] DESC;

This SQL example demonstrates the information pertaining to the stored procedures.  This allows you to review what if possible is performing poorly or long.

  • cached_time: when the procedure was cached or last started.
  • last_execution_time: when the procedure was last executed.
  • execution_count: this tells you the amount of times the procedure was executed

I would suggest to not to display the resource database which always has a ID of 32767 and you can view that in the where clause.

The Resource database is a read-only database that contains all the system objects that are included with SQL Server. SQL Server system objects, such as sys.objects, are physically persisted in the Resource database, but they logically appear in the sys schema of every database. The Resource database does not contain user data or user metadata. (from BOL).  In SQL Server the maximum databases per instances that can be created are 32,767. This last number has been reserved by Resource Database itself.

sys.dm_exec_query_stats

This DMV can be used to obtain statement level metrics.  These metrics are only available if the statement comes from a cached plan.  By using this DMV and summarizing the statement metrics up to the plan level, you are able to identify metrics for stored procedures.

SELECT TOP 10 
       DB_NAME(dbid) AS DatabaseName,
      OBJECT_SCHEMA_NAME(objectid,dbid) AS [SCHEMA_NAME],  
      OBJECT_NAME(objectid,dbid)AS [Process_Name],
      MAX(qs.creation_time) AS 'cache_time',
      MAX(last_execution_time) AS 'last_execution_time',
      MAX(usecounts) AS [execution_count],
      SUM(total_worker_time) / SUM(usecounts) AS AVG_CPU,
      SUM(total_elapsed_time) / SUM(usecounts) AS AVG_ELAPSED,
      SUM(total_logical_reads) / SUM(usecounts) AS AVG_LOGICAL_READS,
      SUM(total_logical_writes) / SUM(usecounts) AS AVG_LOGICAL_WRITES,
      SUM(total_physical_reads) / SUM(usecounts)AS AVG_PHYSICAL_READS      
  FROM sys.dm_exec_query_stats qs  
   join sys.dm_exec_cached_plans cp on qs.plan_handle = cp.plan_handle 
   CROSS APPLY sys.dm_exec_sql_text(cp.plan_handle) 
  WHERE objtype = 'Proc' AND text NOT LIKE '%CREATE FUNC%' and dbid <> 32767
  GROUP BY execution_count, cp.plan_handle, DBID, objectid 
  ORDER BY execution_count DESC

Final Wrap up

As demonstrated these queries will provide you with a simple method to view the stored procedures performances.  You can tune the stored procedures that need it by watching the various reporting fields displayed.    You have the ability of storing this information or exporting it to Excel for maintaining a log over a time period.

 

 

 

 

 

 

 

 

Code Analysis what does it do for your application ?

Baron Software

Code Analysis what does it do for your application ?

When developing an application you want to provide the best solution for your clients.  This means you need to evaluate current or possible future defects in your source code.  This is a reality during the development stage and is highly recommend that this is implemented in all cases.

Necessary steps to do during the code analysis

  • Identify potential errors and oddities.
  • Identify from the produce warnings on why and how you can remove them.
  • Check your code for coding convention compliance.
  • Team code review.

There are numerous packages that can be purchased to do simple to deep analysis.  Some packages are installed with the IDE you are using or are external but all have the similar need.  They have to have access to the source code to review it.

What is static analysis?

Analyzing code without executing it. Generally used to find bugs or ensure conformance to coding guidelines. Static analysis tools should be used when they help maintain code quality.

Two common pathologies occur when using static analysis tools:

  1. The tools produces spurious warnings/errors that the developers cannot silence.  The source code must be compiled cleanly without the failure.  By ignoring compiler warnings, the compile phase will eventually be filled with warning nobody ever pays attention to with the possibility it leading into issues later.
  2. The tools take too long to run and developers never bother to run them.

For the Delphi IDE the recommendation for tools can be TMS Fixinsight, Code Healer, etc.

For the Visual Studio it has a built in code analysis which can be accessed from the menu.

Using a code analysis application or from the menu such as the case in Visual Studio provides you with the possibility of stopping future bugs occurring.   It is highly recommended to compile cleanly, have a code review and finally allow QA to test the application before going to market.

Halt and catch fire season 3

halt_and_catch_fire_intertitle

Season 3 of Halt and Catch Fire

The season finale of Halt and catch fire was shown last week for a solid 2 hours.  The entire show has gone from the personal computer start to about the 1990s with the advent of Windows 3.

The series has had it’s moments with characters that tend to be flaky but came up with inventive ideas that brought social up with ease on social interactions (Mutiny), personal computers that were built to take on the business world (Giant) and finally what IPOs can do to a person.

Flawed Characters that know how to party!

The characters have grown but in reality some of them would have been in prison for the shady dealings such as “Joe”, a person who destroyed the personal computer that was dealing a blow to IBM in season one, gave up on a boyfriend, destroyed a company in season two as well as a marriage and finally taking software anti-virus code and giving it to a person “Ryan” who was mentally unstable.

“Cameron” is a flake, whose ideas of C++ object oriented is crap but she can make a company using a Commodore Vic-20 and wrapping up season 3 by having a one night stand with “Joe”.    Somehow she creates Mutiny, loves chaos and doesn’t get a descent haircut after 3 years.

“Gordon” is a engineering genius but has a disease that may kill him and most likely will occur in the final season.  He also decides to go back with “Joe” to take over the internet.

Finally “Donna” who worked extremely hard to get the IPO and make millions but is totally dissatisfied with what her life has turned into, wishing to get all 4 characters into one room to rekindle the past.

Season four is the series finale

It has been a pretty good series but the time to close it out comes next year with 10 episodes.   The producers have taken 30 years of the rising personal computer along with the internet.  They have put it into 30 or more episodes making viewers see a distorted past.  The recommendation is to read the biography of Steve Jobs or Bill Gates.  That will give you a real prospective of what transpired during those years.

 

Look ahead with Embarcadero and Delphi

Look ahead with Delphi

Look ahead with Embarcadero and Delphi

Embarcadero is hosting a webinar for customers that are on update subscriptions only concerning the next update as well as the anticipated release of Godzilla which will contain the ability to build Linux server applications with a single code base.

 

Finally Embarcadero is heading in the right direction by giving a privileged webinar for yearly paying customers.  The webinar will discuss the next update release for Berlin which is release update 2.  The biggest piece is about Godzilla which a lot of developers have been wanting for the past few years.

What Berlin Update 2 have ?

  • Windows Desktop Bridge Integration
  • Windows 10 VCL Calendar Control
  • “Quick Edits” IDE enhancement
  • C++ Refactoring and Compiler flags
  • Enhanced – Latest Platform Support
  • Enhanced – VCL and FMX Styles

What can I do with Rad Studio ?

 

Rad Studio Professional / Enterprise highlights

  • Windows 32 – 64 bit applications
  • iOS or Mac applications
  • Android applications
  • Soon Linux server applications
  • All from one code base

What that means is that you write once and compile once for all different platforms.  And to boot this is a RAD product so all you do is drag and drop a component involving next to nothing coding if you wanted.

The coming of Godzilla

“Currently more Rockhopper than Emperor, RAD Studio’s Linux support is progressing nicely in the labs. While this incubates we want to give you a sneak peek at project Godzilla and show you how to build Linux applications from the RAD Studio IDE, deploy them to the Linux platform, and debug them remotely.”

The price for the product is available from http:\\www.embarcadero.com and there are always discounts.  Yearly subscription provides the developer products updates and major upgrades for one cost and there is really no funny or hidden costs,  also free software components are available as well.

The webinar is for yearly subscription customers and your registered email will receive the invitation.  Embarcadero is grabbing back some of the market from Microsoft in the recent past few years.  With the Idera backing the company did split out the database and application tools along with additional funding.  Delphi’s future looks extremely bright for Delphi with the advent of enhancements that are being announced.

Using Elevate Web Builder Book Review

Erick Engelke

Using Elevate Web Builder Book Review 2nd edition by Erick Engelke

Erick Engelke has written the first ever book about using the Elevate Web Builder product from Elevate Software.

What is Elevate Web Builder ?

Elevate Web Builder is a visual rapid application development environment for web applications. It is simple and easy to create beautiful web applications by simply dragging and dropping components on to forms, and then changing their appearance and behaviors as desired.  EWB is written with Delphi Pascal as the driving force allowing software developers to quickly build a web based application using a great software language.

Elevate Web Builder Book or on-line manual ?

The book simply provides code samples along with a description for the section from using PHP, JavaScript, JSON, etc.  It is a self published type of manual that retails at $59.95 (USD) as well as being charged taxes and could be purchased from Amazon.  The cost is a little high and should have been in the range of $39 to $44 but the self publishing world is becoming much more greedy.

The overall book should have been designed with technical people in mind.  Step by Step with simple projects go a long way in comparison to code snippets that tend to show but not going into deep detail.  The controls should have been in the rear section under the heading reference with the different syntax for each control.

By using a simple project which could have been a film history/description or a shopping cart provides the reader as to how to do something and what the end result would be.  That could have demonstrated why EWB is a rapid development tool for the web.

Some sections that were missing concerns on the operating systems that the project could be implemented on which is Linux or Windows.  The requirements to build any project using EWB or can the discussion on building a custom component for the product which is what Delphi is about.

One thing about a self published manual / book is that the images tend to get blurred and the font used could have been better.

The recommendation is that you review the book on line to see if it fits your need otherwise you can use the ElevateSoft on line guide which is limited and very much disjointed.  Using the EWB product is simple, you really only need to understand Pascal and have a solid idea on how Delphi works which the EWB does follow in rapid design.

Rave Reports for Delphi Business Review

ndlogoheader

Rave Reports for Delphi Business Review

Recently the decision was made to review Rave Reports by Nevrona to make a decision whether it would fit any type of long term application development.  The process took a little time to review the capabilities of what Rave Reports could do for any end user when compared to other report generators such as Fast Reports, Quick Reports or Report Builder.

The final decision was to stay with Fast Reports due to the reasons listed below.  Rave Report does have some merit on why they could be your solution but after a very careful review it fell behind in quite a few necessary things.  These can be fixed but the current setting it seems that Nevrona will not implement any of them.

Reasons for not using Rave Reports

The first reason that is major is technical support.  With Nevrona you can either call via telephone or email the technical support.  To our staff it seems that this would be a 8 hour window leaving a huge hole until the response was answered.  There are no forums that other users can trade ideas or historical views on the different product versions.  This was brought up to Nevrona but there was no solution.

The second reason is customer loyalty pricing.  There is absolutely no discounts nor upgrade pricing. Nevrona indicated that the loyalty prices may be considered but are not happening for now and the near future.

The third reason is the software releases are slow to market.  The current version is 11.0.12 Beta that has the Berlin support but that was released back in May 2016, there is no target date for version 12.0 and Nevrona will not release that date at the moment.

The final reason is the actual product that is sold which is the report generator or the report generator with the visual designer.  The foot print is small and the functionality does deliver but if you can get the similar things in the other packages such as Fast Reports.

Nevrona had some major company issues a few years back which led them to disappear for a period of time.  That is understandable for small companies and that may have been one of the reasons Embarcadero dropped them from Delphi and went with Fast Reports.

After listing the reasons for the business review our recommendation is to be extremely careful if your company is deciding on purchasing Rave Reports.  Nevrona has said they are in for the long term but the real question are their clients willing to be there?