Archive for February 3rd, 2007

Generation of XML in Oracle can be achieved in quite a few different ways.

1) SQLX : In my opinion, this is the best way to generate XML. It is the most natural way to generate a result since you can just use a query for this. They generate query plans and they use the cost-based optimizer and they use indexed reads, etc. This isn’t to say any of the others don’t but SQLX is Oracle’s latest and greatest mechanism for generating XML.

2) DBMS_XMLQUERY: This is another way to query the database to ask for an XML result set, but the options you have for customizing the way Oracle generates the final document aren’t quite as good as SQLX’s options. SQLX is a bit cumbersome though just like any other option for generating the result-set in a particular format.

3) DBMS_XMLGEN.GETXML : Short, simple and sweet…but this is limited in functionality…this goes in hand to hand with other system XML functions.

Storing/Processing XML can be done by either of these 2 options:

a) DBMS_XMLSAVE: This is a PL/SQL supplied package for taking an XML document and storing it into relational tables and/or objects. It removes a lot of the work from the programmers hands but the XML has to be in a particular “canonical” format which must match the storage architecture of your tables and/or objects. This works but isn’t quite XML DB.

b) XML DB: Using XML DB, there are many options you have for storing and interacting with your XML. There’s structured storage, where the database automatically breaks down your XML document based on your XML Schema, there’s unstructured storage which places the entire XML document into a CLOB column in the XML DB schema. There’s the XML Repository which is yet another way to interface with the databases’s XML technology. You can upload an XML document via FTP, WebDAV or just using SQL. The XML document is then stored in a CLOB column or a set of object-relational tables & structures for further processing/queries. When you need the XML document, you pull it out via FTP, HTTP, WebDAV or SQL. Oracle is then responsible for reconstructing the XML document for you behind the scenes.

The more you work with Windows Vista, the more you will experience the many popup messages generated by the new User Access Control (UAC) feature.

What is UAC?

UAC is the new Microsoft watchdog that minimizes the amount of privileges a user has while logged in with their profile. Each time an activity is attempted that requires elevated privileges, like installing a piece of 3rd party software or accessing the Group Policy editor for example, a message appears informing the user that “Windows needs your permission to continue”. At this point the user has the option to either Continue or Cancel as shown below:

Can I Disable UAC?

It is safe to assume that 99% of us will always want to continue, and being constantly interrupted by messages that you have to take time to click past can be frustrating and a waste of time. So, this obviously begs the question of whether or not UAC can be disabled. Fortunately the answer is “Yes”. UAC can be disabled via the User Accounts Control Panel. Simply navigate to Control Panel -> User Accounts, and then click on the User Accounts icon. This brings you to the ‘Make changes to your user account’ screen as shown below:

Then you need to select the bottom option – ‘Turn User Account Control on or off’, ironically, the next thing that you will see is a UAC pop-up message :). Once past the pop-up all that is left is to uncheck the checkbox in the following screen:

Lastly, you will need to reboot the system for the change to take affect….old habits are indeed very hard to break!

Now, the above solution is appropriate for experienced administrators, but not a good idea for the average user. A better option is to use the local security settings provided by the MMC Administrative Tools console. Under Local Policies -> Security Options there are numerous UAC configuration options. For example, administrators can specify that elevated privileges be automatically allowed. This does not turn UAC off completely, but it does prevent a majority of the UAC pop-up messages.