Tuesday, December 11, 2012

'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine

You may get the error " 'Microsoft.ACE.OLEDB.12.0' provider is not registered" during importing the Excel file from SQL Serve Data Tools (in a business intelligence 2012 project) into an Analysis Service 2012 Tabular instance (However, you may also get this error while working with MS Access or MS Excel data source projects in other environment other than business intelligence projects).

Searching for this error over the net returns the guide to install Microsoft Access Database Engine 2010 Redistributable.
While it is true that you need the above modules in order to fix the error however there is no match to mention that if you do install the 32 bit version of "Microsoft.ACE.OLEDB.12.0" while working on the server which have already installed the Analysis Services in 64 bit mode but the MS Office 2010 in 32 bit at the same time there is no chance to escape from that mentioned error. Meanwhile, if you are going to install the 64 bit version of "Microsoft.ACE.OLEDB.12.0" you will be stuck because you have already installed MS Office 2010 32 bit(or other MS Office products in 32 bit mode).
(Note: As a rule, you won't be allowed to install the other MS Office 64 bit version products as long as you have (even one) the 32 bit of MS Office product, and vice versa).
Solution :
The only solution which I've tried in order to resolve the problem successfully is :
1. Remove/Uninstall all of the MS Office in 32 bit versions, including Project Server, SharePoint Designer, Visio, ... . (do not worry about the current configuration or the data inside Outlook or your records within OneNote, they will be back like a charm while installing the same version of MS Office regardless of 32 or 64 bit).
2. Do reboot your computer even if did not ask for it.
3. Installing the 64 bit version of MS Office 2010 (note that by default when you run the "setup.exe" inside the MS Office DVD it will start with the 32 bit version of setup, instead open "x64" folder and run setup.exe in order to install the 64 bit of MS Office).
4. Now check your outlook or open excel, then activate your product.
5. Install the 64 bit version of  "Microsoft.ACE.OLEDB.12.0"  (AccessDatabaseEngine_x64.exe).
5. Done. Now open the SQL Server Data Tools and continue to do import Excel file into the Tabular instance of the Analysis Service project.


Sunday, December 09, 2012

How to deal with Time Dimension in SQL Server 2008,2012 Business Intelligence

Here I'm not going to learn how to create a Time Dimension in business intelligence 2008 and 2012 as you may know it well or it could be found on the net, however there are some consideration in order to create the Time Dimension.
The key difference is that in one approach it will never show you the  Time Dimension during that wizard and you have to create it later by manual.

1. In first approach, we have already installed (or restored) our data mart database using SQL Server Management Studio, so we would create a cube at top of data mart. In this case we do the following steps briefly:
a. Using SSDT (in SQL Server 2012) or BIDS (in SQL Server 2008) to create a new Analysis Services project.
b. Create a new Data Source.
c. Create a new Data Source View.
d. Create a new Cube:
in this step while creating a new Cube, you asked to define the measures and dimensions except Time Dimension. Then we have to create our Time Dimension manually.

2. In second approach, we do not have the data mart yet, instead we are going to create our data mart using business intelligence tools. In this case we do the following steps briefly: 
a. Using SSDT (in SQL 2012) or BIDS (in SQL 2008) to create a new Analysis Services project.
b. Create a new cube:
in this step while creating a new Cube, you asked to define the Time Dimension along with the other measures and dimensions as well as at the end of the wizard you have to check the "Generate Schema" to create the data mart followed by the measures and dimensions which you have defined during that wizard as the schema. In this case we will asked to define a Data Source and Data Source View during the data mart creation (after click "Finish", it will open a new wizard page) and only if we did check the "Generate Schema".

As you may be noticed, in the second approach we followed the opposite direction in compare to the first approach, as well as we create the data mart on demand but asked for Time Dimension, in contrast at the second approach we have to create the Time Dimension manually but already have the data mart.

Thursday, December 06, 2012

My new certifications as well as considered an upgrade

Last month (30 - 31 Oct) I got the new certifications on MS Dynamics AX 2012 on two exams :
MB6-869 : MSTS - MS Dynamics AX 2012 installation and configuration, with score 875.
MB6-872 : MCTS - MS Dynamics AX 2012 development introduction, with score 1000.
to be recognized as MCTS - Dynamics (with one exam also you get this).
The sources to study were :
1. My current job function.
2. Book: Inside Microsoft Dynamics AX 2012, by The Microsoft Dynamics AX Team.

This week, on Monday, I passed exam 70-452,  PRO: Designing a Business Intelligence Infrastructure Using Microsoft SQL Server 2008, which allow me to get my MCITP in Business Intelligence 2008 (along with 70-448 which had passed last year), with score 833.
So now I'm MCITP - Business Intelligence Developer 2008 as well.
The sources to study were:
1. My current job function.
2. Book: Delivering Business Intelligence with Microsoft SQL Server 2008 by BRIAN LARSON.

Then , the day after, I also passed 70-460, Transition your MCITP: Business Intelligence Developer 2008 to MCSE: Business Intelligence, with score 700.
Some explanation about this exam may be considered:
That is 2-in-1 exam, 70-466 and 70-467, consist of 3 parts with 49 questions and 190 minutes time limit. First I asked by answer to 25 questions.
Then I ended the exam, the timer was resorted and return to the next 9 questions. Afterward I also ended this exam but the timer continued till the rest of the 15 questions which were 3 separate scenarios.
Type of question were: Single choice,  Multi choices (up to 10 options), Drag and Drop, Select -in application menu, Scenario.
My idea is the exam is designed specially for who has the practical experience with working in real world, such BRIAN LARSON did in his books using MaxMin conceptual company and database model.So I have found the BRIAN LARSON book Learn By Doing section the most usefull source for study and pass the exam.
The sources to study were:
1. Book: Delivering Business Intelligence with Microsoft SQL Server 2012 by BRIAN LARSON.
2. Book: Microsoft SQL Server 2012 Analysis Services, The BISM Tabular Model, Microsoft Press.
3. MSDN and Technet libraries and resources.

My goal is to get MCSE 2012 on Business Intelligence.
The plan is, I should complete exam 70-457 and 70-458, now working on 70-457.

Tuesday, October 09, 2012

Download Advanced Linux Programming

Original source: http://www.advancedlinuxprogramming.com/alp-folder/

Download Advanced Linux Programming

Do not use a download accelerator to download these files.
To view and print the book, you will need a Portable Document Format (PDF) viewer application, such as
Some web browsers have problems with inline PDF files. Try saving the file to your local filesystem before opening with a stand alone PDF viewer. If you still have problems viewing the file, make sure you have downloaded the entire file and the md5 checksum matches.
TitleFileFilesizemd5 checksum
The Entire Advanced Linux Programming Book in One Filepdf12733615e722dc5dfcde263ea06fa193e9f61b4
Front Matter and Table of Contentspdf1273361fe0c601b919879e93d79d25a78818b5c
Chapter 01 - Advanced Unix Programming with Linuxpdf2358355923f2a5d7fb4f941fe905fbe45be196
Chapter 02 - Writing Good GNU/Linux Softwarepdf28032644c823c1240c7f70a6dc9dbfddbe03fa
Chapter 03 - Processespdf24175887b5d98ba5b5933cf2ad1dbcf37641aa
Chapter 04 - Threadspdf29241911f392b44c073498e9ec9b3f718e54e7
Chapter 05 - Interprocess Communicationpdf2898530de9b56476a0e6e536fbac68e09b02d2
Chapter 06 - Mastering Linuxpdf268821ab8940fbcc40018d72bd2016e662afba
Chapter 07 - The /proc File Systempdf258582b3fe701f67a37ad7ba7233bcdc3f5d90
Chapter 08 - Linux System Callspdf261352583182dc09bc8b3c3773ba6d0fc710f2
Chapter 09 - Inline Assembly Codepdf204992c226e58fc7bf544df477d8ae96b680ed
Chapter 10 - Securitypdf288441fc340b97e9c7f3fc2f5fe4dd71132ffd
Chapter 11 - A Sample GNU/Linux Applicationpdf29821550a205644e441ae26d2041567d131b82
Appendix A - Other Development Toolspdf27237709a9a79a3c3abe6869df3f1ab5b39b14
Appendix B - Low Level I/Opdf2527553eaa0f0bbd103e1cc7872663e227a14b
Appendix C - Table of Signalspdf1778793b02a6abb38877580b743392b98c3290
Appendix D - Online Resourcespdf148074372964ff1eb4f85aca3985736a06cc48
Appendix E - Open Publication License Version 1.0pdf1765965b1ddb8d38b6a44b357345ba6c25010e
Appendix F - The GNU General Public Licensepdf228793e207c51489e6f3cfafba5b13bb5e3bd9

Problems with this web site? webmaster@codesourcery.com

Saturday, October 06, 2012

Why using Python?

First time when I faced with Python (2 years ago) it was vague!
But as you may know the vague things is some how could help
us doing the things in a new ways. Python came to me in such.
You may use Python for the following reasons :
1. Fast scripting OOP using interactive console along with simple CLI (in compared to PHP, Perl, Java).
2. Fast tools development, using both GUI and command-line.
3. The most useful Dictionary objects, twisted along with List to List feature which I have seen ever.
4. The most simpler but rich functionality of working with file system, which I've tried ever.
5. Tones of methods, I called in all-in-one, which lets you create a complex routine in only a few lines.
    for example to set through the dictionary's value to access records directly :
                >>> for record in db.values(): print(record['LastName'])
6. In favor of Pickle module you now can translate an in-memory object into a serialize byte stream that can   be written to any file object.
7. In favor of Shelve interface, you can now using store your in-memory dictionaries objects for permanent keeping of them.
8. Big approach: Using a network socket, you can now ship pickled objects across a network and provides your own SOAP or XML based RPC services.
9. Execute the OS (Linux/Unix, MacOS, Windows) processes.
10. Porting to any platform, developing Google cloud's applications, ... .

These are not only 10 tips of Python , but by searching the Keywords inside you can learn Python more quickly now :)

Monday, October 01, 2012

Drill-down vs Drill-through

In BI technology, there are simple words that have different meaning but are closer in concept and usage. Here I want to explain briefly two of them which are vital for every BI developers:

This is when you create a data column in a report that is enable for drill to somewhere on that report so this expands the next level of details on the same report. Most of the times the grouped  fields.

This is when you create a data column in a report that is enabled for drill to another report which would suppose shows a lower level of details resides on the somewhere, outside.

More information for AX developers:
Microsoft Dynamics AX, integrated with SSRS, means that it is using the drill-through actions to open a detailed info from Enterpriseportal or open a AX form inside a report using URL action method.
In a favor of DrillThroughCommonHelper, now you can generate a required url string for SSRS URL action in order to open a form or EP directly from report.

Monday, July 02, 2012

Dynamics Ax 2012: Installing EP on a Web Farm

Read the following topic on technet also before read this article : http://technet.microsoft.com/EN-US/library/ee355087

While I was installing EP on a new server (SP2010 on Win2008R2) which was a Web Farm I faced with a problem in which the EP installation failed to "Create Website"! I have also could not create a website using Client app (System Administration -> Setup -> Enterprise Portal) with the error: HTTP Error 401.1 - Unauthorized: Access
But this link did not help any more: http://support.microsoft.com/kb/871179/en-us
In the other hand, as long as this web farm used Host header in its SP Web App, Microsoft solution for "BackConnectionHostNames" registry entry, but it is maybe useful in other cases, so read this carefully.

Finally i found the workaround, as long as you have never found an article on the net:
First, I installed  the EP (run ax setup) with uncheck "Create Website", after setup completed then from SharePoint Administration page created a new site collection (assumed we have created Web Application before)  and select Custom Template here (but 99% it will be empty in this case), anyway select:  "select later…="" template=""), then after it created that it would prompt for a template selection so here when choose Custom again it now appeared with "Microsoft Dynamics AX Enterprise Portal template, …" I have done!
There was an error in this gadget