<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2237087405091004056</id><updated>2011-11-15T06:12:48.367-05:00</updated><category term='Ali Khademi'/><category term='System.Data.OracleClient'/><category term='SMTP'/><category term='POP3'/><category term='DataSet.GetXML'/><category term='XML Reader'/><category term='ISA'/><category term='Outlook'/><category term='Quad Infotech'/><category term='Null Values'/><category term='Oracle Client'/><category term='APEX'/><category term='PowerBuilder 12 Beta 2'/><category term='VB .NET'/><category term='Firewall'/><category term='Client'/><category term='String to XML'/><category term='Block'/><title type='text'>Challenge of Day</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>32</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-6053840936199625863</id><published>2011-02-14T21:21:00.003-05:00</published><updated>2011-02-14T22:37:08.635-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XML Reader'/><category scheme='http://www.blogger.com/atom/ns#' term='String to XML'/><category scheme='http://www.blogger.com/atom/ns#' term='VB .NET'/><title type='text'>How to convert a string XML to data type XML in Visual Basic VB .NET</title><content type='html'>Hello,&lt;br /&gt;It is quite common to convert a file containing an XML content to XML data type and then other ADO .NET objects.&lt;br /&gt;Here is a sample program:&lt;br /&gt;&lt;br /&gt;dim x as XMLReader&lt;br /&gt;dim s as String&lt;br /&gt;&lt;br /&gt;x = XMLReader.create("c:\baridsoft\orders.xml")&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now you can play with object "x" and manipulate it using Readxxxx methods. But the question is that most of the times you have your XML in memory with a string presentation. &lt;br /&gt;&lt;br /&gt;Dim sr As New System.IO.StringReader("&lt;node&gt;&lt;name&gt;ali khademi&lt;/name&gt;&lt;score&gt;20&lt;/score&gt;&lt;/node&gt;")&lt;br /&gt;Dim xx As New Xml.XmlTextReader(sr)&lt;br /&gt;xx = XmlReader.Create(sr)&lt;br /&gt;&lt;br /&gt;Here is a sample program that is supposed to convert string to XML but it will trap in exception:&lt;br /&gt;Unable to cast object of type 'System.Xml.XmlTextReaderImpl' to type 'System.Xml.XmlTextReader'.&lt;br /&gt;&lt;br /&gt;Here is the solution to this problem:&lt;br /&gt;&lt;br /&gt;Dim sr As New StringReader("&lt;node&gt;&lt;name&gt;ali khademi&lt;/name&gt;&lt;score&gt;20&lt;/score&gt;&lt;/node&gt;")&lt;br /&gt;Dim xx As New Xml.XmlTextReader(sr)&lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges&lt;br /&gt;Ali Khademi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-6053840936199625863?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/6053840936199625863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=6053840936199625863' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/6053840936199625863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/6053840936199625863'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2011/02/how-to-convert-string-xml-to-data-type.html' title='How to convert a string XML to data type XML in Visual Basic VB .NET'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-8598805264526939354</id><published>2010-11-19T14:51:00.006-05:00</published><updated>2010-11-19T15:05:09.671-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Null Values'/><category scheme='http://www.blogger.com/atom/ns#' term='DataSet.GetXML'/><title type='text'>DataSet.GetXML Does Not Return Null Values</title><content type='html'>Hello,&lt;br /&gt;XML is the defacto of data exchange and is used heavily as a means for presenting and transfering the data.&lt;br /&gt;.NET framework provides a lot of facilities for manipulaitng this data type but when it comes to representing a data set with XML, .NET framework simply does not includes fields by null values. In other word, null fields are omitted in the output XML.&lt;br /&gt;This is a known issue and you can read about it in this knowledgebase &lt;a href="http://support.microsoft.com/kb/317961"&gt;article&lt;/a&gt; by Microsoft.&lt;br /&gt;There are two possible solutions to this problem:&lt;br /&gt;1 - Either modify your SELECT statement and replace NULL values in the result set with some other values (e.g. Blank or Zero)&lt;br /&gt;2 - You have to write your own GetXML method like this: This code snippet retrieves result set from a stored procedure and makes the XML string.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;Dim conn As New OracleConnection    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;conn.ConnectionString = "data source=oracle;user id=baridsoft;pwd=barid"    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;conn.Open()    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;Dim ds As New DataSet    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;Dim da As New OracleDataAdapter    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;Dim cmd As New OracleCommand    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;cmd.CommandType = CommandType.StoredProcedure    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;cmd.CommandText = "sp_stored_procedure"    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;Dim p1 As OracleParameter    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;p1 = cmd.Parameters.Add("grs", OracleType.Cursor)    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;p1.Direction = ParameterDirection.Output    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;cmd.Connection = conn    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;da.SelectCommand = cmd    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;da.Fill(ds, "mytbl")    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;If ds.Tables.Contains("mytbl") Then      &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;   ds.Tables("mytbl").WriteXml("c:\ali\prr1.xml", XmlWriteMode.IgnoreSchema, True)      &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;   Dim strXML As String = ""      &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;   strXML = "&lt;mytbl&gt;" + vbCrLf      &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;   For Each r As DataRow In ds.Tables("mytbl").Rows        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;    strXML = strXML + "&lt;rec&gt;" + vbCrLf        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;    Dim st As String = ""        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;    For i As Integer = 0 To r.ItemArray.Count - 1          &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;         st = st + "&lt;" + ds.Tables("mytbl").Columns(i).ColumnName + "&gt;"          &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;         If r.IsNull(i) Then          &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;         Else            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;            st = st + r(i).ToString          &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;         End If          &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;         st = st + "&lt;/" + ds.Tables("mytbl").Columns(i).ColumnName + "&gt;" + vbCrLf        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;   Next        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;   strXML = strXML + st + "&lt;/rec&gt;" + vbCrLf      &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;  Next      strXML = strXML + "&lt;/mytbl&gt;" + vbCrLf    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;End If    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;conn.Close()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;Be a winner in your daily challenges&lt;br /&gt;Ali Khademi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-8598805264526939354?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/8598805264526939354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=8598805264526939354' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/8598805264526939354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/8598805264526939354'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2010/11/datasetgetxml-does-not-return-null.html' title='DataSet.GetXML Does Not Return Null Values'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-1716573460027834637</id><published>2010-10-14T20:59:00.003-04:00</published><updated>2010-10-14T21:11:08.325-04:00</updated><title type='text'>Dr. Kordi Shoes</title><content type='html'>Hello,&lt;br /&gt;This is an attemp to run a shoes company web site. You can view it at &lt;a href="http://eshop.kordishoes.com/"&gt;http://eshop.kordishoes.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Be a winner in daily challenges&lt;br /&gt;Ali Khademi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-1716573460027834637?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/1716573460027834637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=1716573460027834637' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/1716573460027834637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/1716573460027834637'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2010/10/dr-kordi-shoes.html' title='Dr. Kordi Shoes'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-3294564355534710116</id><published>2010-07-13T13:14:00.002-04:00</published><updated>2010-07-13T14:16:34.388-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Client'/><category scheme='http://www.blogger.com/atom/ns#' term='System.Data.OracleClient'/><title type='text'>System.Data.OracleClient Requires Oracle Client Software Version 8.1 or Later</title><content type='html'>&lt;span style="font-family:arial;"&gt;Hello,&lt;br /&gt;Couple of days ago, I was asked to make some enhancements to an old Visual Basic .NET program developed by Visual Studio 2003.&lt;br /&gt;After upgrading the application and doing some refactoring, I replaced the (old) ADODB wrapper with System.Data.OracleClient.&lt;br /&gt;The deployment environment is Windows 2000 Server which was updated with latest Microsoft patches including Service Pack and .NET Framework 3.5&lt;br /&gt;After deploying the new program, it started to generate this error message:&lt;br /&gt;&lt;br /&gt;System.Data.OracleClient Requires Oracle Client Software Version 8.1 or Later&lt;br /&gt;&lt;br /&gt;It was very strand because the computer was running Oracle client 9.1 already.&lt;br /&gt;&lt;br /&gt;I tried Oracle's Metalink knowledgebase. The closest shot (ID 1097598.1) stated this problem statement:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;The following error may display when starting Performance Management Architect (EPMA) services on an Oracle database:"Service cannot be started. System.Exception: System.Data.OracleClient requires Oracle client software version 8.1.7 or greater."&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;And this document suggests this approach:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;1- Log on to the MS Windows machine with the Administrator account.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;2- Start  MS Windows Explorer.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;3- Navigate to the directory: ORACLE_HOME folder.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;4- Right Click and choose the properties on the ORACLE_HOME folder.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;5- Click the Security tab of the Properties window.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;6- Click on the Authenticated Users in the Name list.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;7- Uncheck the Read and Execute box in the Permissions list under the Allow column.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;8- Recheck the Read and Execute box again.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;9- Click the Advanced button.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;10- In Permission Entries verify that Authenticated Users are listed with permission set to Read &amp;amp; Execute and Apply to set to: This folder ORACLE_HOME, subfolders and files. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;11- Click OK to exit the security properties windows. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;12- Restart the computer to ensure the changes take effect.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;I followed above instructions but it did not solve my problem. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;I also tried different recipes on the internet. Most of them suggesting similar solutions which was not helpful for me. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:130%;"&gt;&lt;strong&gt;My workaround:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Finally I decided to upgrade Oracle Client from 9.1 to 9.2 and it worked successfully. To do so, &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;1 - I uninstalled the Oracle client by using Oracle Universal Installer.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;2 - I went through all the Windows Registry (RegEdit.EXE) and cleaned all the entries were created by Oracle&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;3 - I restarted the computer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;4 - I removed all the remaining Oracle files and folders from Windows Explorer including the one under "Program Files" folder and also OCI.DLL&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;5 - I installed new Oracle client program.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Be a winner in your daily challenges&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Ali Khademi&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-3294564355534710116?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/3294564355534710116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=3294564355534710116' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/3294564355534710116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/3294564355534710116'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2010/07/systemdataoracleclient-requires-oracle.html' title='System.Data.OracleClient Requires Oracle Client Software Version 8.1 or Later'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-3746516421555067197</id><published>2009-11-04T12:44:00.003-05:00</published><updated>2009-11-04T13:24:24.623-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Client'/><category scheme='http://www.blogger.com/atom/ns#' term='Firewall'/><category scheme='http://www.blogger.com/atom/ns#' term='SMTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Outlook'/><category scheme='http://www.blogger.com/atom/ns#' term='POP3'/><category scheme='http://www.blogger.com/atom/ns#' term='ISA'/><category scheme='http://www.blogger.com/atom/ns#' term='Block'/><title type='text'>ISA (Internet Security and Acceleration) Blocks Outlook's POP3 and SMTP Mail Accounts</title><content type='html'>Hello,&lt;br /&gt;It is quite possible that your computer resides in a protected network, behind a proxy (MS ISA or Intenet Security and Acceleration) and you want to use our Microsoft Outlook to receive your emails from your POP3 mail server. In this case you might receive error 0x80090040 or 0x80042108 telling you Outlook cannot find your server or cannot connect to your POP3.&lt;br /&gt;To work around this, 3 steps should be done:&lt;br /&gt;1 - Make sure POP3, SMPTP and DNS protocols are open on your ISA. For this you should have an access rule allowing those 3 protocols from INTERNAL NETWORK to EXTERNAL NETWORK.&lt;br /&gt;2 - Open the Microsoft Internet Security and Acceleration Server management console, expand the server name and the expand the Configuration node then click on the General node. In the General node, click on the Define Firewall Client Settings link in the Details pane. In the Firewall Client Settings dialog box, click the Application Settings tab. Pickup Outlook and change Key Value of Disbale to 0&lt;br /&gt;&lt;br /&gt;3 - On your local computer, reconfigure your ISA client to refresh its local cache. Make sure firewall client on your computer is enabled as it is responsible to route your requests to ISA server.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now restart your Outlook and try send or receive again. I assume that you have correct configuration for your email account. &lt;br /&gt;&lt;br /&gt;Be a Winner in Your Daily Challenges.&lt;br /&gt;&lt;br /&gt;Ali Khademi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-3746516421555067197?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/3746516421555067197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=3746516421555067197' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/3746516421555067197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/3746516421555067197'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2009/11/isa-internet-security-and-acceleration.html' title='ISA (Internet Security and Acceleration) Blocks Outlook&apos;s POP3 and SMTP Mail Accounts'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-3252843463112370493</id><published>2009-11-04T12:09:00.003-05:00</published><updated>2010-01-07T09:41:51.088-05:00</updated><title type='text'>Calling Oracle Stored Procedure from VB .NET</title><content type='html'>Hello,&lt;br /&gt;Calling Oracle Stored Procedure from VB .NET is not something new but since a Don from Cartersville asked me this question, I will explain it here. In general here is the source code to perfome this task:&lt;br /&gt;&lt;br /&gt;Public Sub CallOracleStoreProceudre()&lt;br /&gt;    Dim conn As New OracleConnection("data source=baridsoft;user id=ali, pwd=khademi")&lt;br /&gt;    Try&lt;br /&gt;      conn.Open()&lt;br /&gt;      Dim cmd As New OracleCommand&lt;br /&gt;      cmd.Connection = conn&lt;br /&gt;      cmd.CommandType = CommandType.StoredProcedure&lt;br /&gt;      cmd.CommandText = "OracleSP"&lt;br /&gt;      Dim p1 As OracleParameter&lt;br /&gt;      Dim p2 As OracleParameter&lt;br /&gt;&lt;br /&gt;      p1 = cmd.Parameters.Add("Param1", OracleType.NVarChar)&lt;br /&gt;      p1.Value = "Value1"&lt;br /&gt;      p2 = cmd.Parameters.Add("Param2", OracleType.Double)&lt;br /&gt;      p2.Value = 10&lt;br /&gt;&lt;br /&gt;      cmd.ExecuteNonQuery()&lt;br /&gt;&lt;br /&gt;    Catch ex As Exception&lt;br /&gt;      'Handle exceptions here&lt;br /&gt;     End Try&lt;br /&gt;     conn.close()&lt;br /&gt;  End Sub&lt;br /&gt;&lt;br /&gt;This VB .NET subroutine calls OracleSP which accepts 2 parameters. It is quite possible to return a result set to calling subroutine. To do so replace the call to &lt;br /&gt;cmd.ExecuteNonQuery with this line:&lt;br /&gt;&lt;br /&gt;dim r as new SqlDataReader = cmd.ExecuteReader()&lt;br /&gt;&lt;br /&gt;Then you can iterate through your data and process it. (like below)&lt;br /&gt;   while r.read &lt;br /&gt;     ' Do what ever you want&lt;br /&gt;   end while&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ADO .NET has got wonderfull capabilities when coming to RESTfull data sources. I will cover it sometimes latter.&lt;br /&gt;&lt;br /&gt;Here is an example of calling Oracle Stored Function as well:&lt;br /&gt;&lt;br /&gt;  Public Sub CallOracleStoredFunction()&lt;br /&gt;    Dim conn As New OracleConnection("data source=BaridSoft;user id=Ali Khademi;pwd=DoNotAskDoNotTell")&lt;br /&gt;    Try&lt;br /&gt;      conn.Open()&lt;br /&gt;      Dim cmd As New OracleCommand&lt;br /&gt;      cmd.Connection = conn&lt;br /&gt;      cmd.CommandType = CommandType.StoredProcedure&lt;br /&gt;      cmd.CommandText = "sf_my_function"&lt;br /&gt;      Dim p1 As OracleParameter&lt;br /&gt;      Dim p2 As OracleParameter&lt;br /&gt;      Dim p3 As OracleParameter&lt;br /&gt;      Dim p4 As OracleParameter&lt;br /&gt;&lt;br /&gt;      p1 = cmd.Parameters.Add("param1", OracleType.NVarChar)&lt;br /&gt;      p1.Value = "123456"&lt;br /&gt;      p2 = cmd.Parameters.Add("param2", OracleType.NVarChar)&lt;br /&gt;      p2.Value = "Mn"&lt;br /&gt;      p3 = cmd.Parameters.Add("param3", OracleType.Number)&lt;br /&gt;      p3.Value = 10&lt;br /&gt;      p4 = cmd.Parameters.Add("v", OracleType.Int16)&lt;br /&gt;      p4.Direction = ParameterDirection.ReturnValue&lt;br /&gt;      Dim n As Integer&lt;br /&gt;      n = cmd.ExecuteNonQuery()&lt;br /&gt;      MsgBox("Function successfully executed. Return value is " + p4.Value.ToString, MsgBoxStyle.OkOnly, "Function Call")&lt;br /&gt;      conn.Close()&lt;br /&gt;    Catch ex As Exception&lt;br /&gt;      ' handle exceptions here&lt;br /&gt;    End Try&lt;br /&gt;  End Sub&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges&lt;br /&gt;&lt;br /&gt;Ali Khademi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-3252843463112370493?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/3252843463112370493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=3252843463112370493' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/3252843463112370493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/3252843463112370493'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2009/11/calling-oracle-stored-procedure-from-vb.html' title='Calling Oracle Stored Procedure from VB .NET'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-7762783575550788385</id><published>2009-10-27T16:07:00.002-04:00</published><updated>2009-10-27T16:23:28.619-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerBuilder 12 Beta 2'/><title type='text'>PowerBuilder 12 Beta 2 Presentation by Sybex</title><content type='html'>Hello,&lt;br /&gt;Today I watched the live official webcast about PowerBuilder 12 Beta 2 by Sybex company. For a long time developers were waiting about this event to see what is new in PowerBuilder 12. &lt;br /&gt;First interesting point to my eyes is the estimated launch time of this product which will be second quarter 2010 which is almost 8 month from now. It means that whatever was presented today, was just a prototype.&lt;br /&gt;I believe Sybex decided to support .NET platform because it was not successful in its Java targets (Tiger) in previous versions of PowerBuilder. Sybex could not find its place in the community of Java Open Source developers and could not impress the technology with its products and as a result, they decided to return back to Microsoft managed code platform. &lt;br /&gt;Based on the presentation, they have just created a PowerBuilder to C# translator and then they call C# compiler from Visual Studio to generate managed code. I think they would have better just create a compiler for PowerScript.&lt;br /&gt;They do not support compact framework, LINQ, Silverlight and many other new feathers in the framework and based my experience from PowerBuilder, in the same way that previous version was not integrated thightly with Java technology, the new generation will not be integrated with .NET framework. &lt;br /&gt;At the end I have pasted list of question and answeres from technical team. It will help you realize more about this product.&lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges&lt;br /&gt;Ali Khademi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;+++++++++++++ Here is the questions and answers from live cast +++++++++++++++++++++++++&lt;br /&gt;&lt;br /&gt;Question: Migration of a PFC app to .net is possible now? It was not in beta 1.&lt;br /&gt;Answer: I believe the runtime team has been able to migrate some PFC apps&lt;br /&gt;Question: Can we get a copy of this PowerPoint somehow?&lt;br /&gt;Answer: Yes, please send me your email address at melindaw@sybase.com and I will follow up with you&lt;br /&gt;Question: what does wpf stand for&lt;br /&gt;Answer: Windows Presentation Foundation (a TM of Microsoft)&lt;br /&gt;Question: PB code is migrated to .NET. does that mean it will generate C# or other .NET app code? or it will still be a PB code (PB Script)&lt;br /&gt;Answer: THere is an intermediate generation of C#, and that is compiled. You still code in PowerScript and XAML&lt;br /&gt;Question: What is the future of Datawindow.Net?&lt;br /&gt;Answer: We are going to evaluate the product after we deliver PB 12 to market. All of our engineering resources have been reallocated to working on v12 as it is such a significant release.&lt;br /&gt;Question: Will the behavior of PB WPF controls be made more consistent with standard WPF controls? (ie: auto-resizing)&lt;br /&gt;Answer: PB WPF controls are inherited from std WPF controls, and so support the same behavior...the difference you may be seeing is in the set of properties generated for the PB controls. You can change the width and height to "auto" to get auto-resize&lt;br /&gt;Question: Can PB.NET WPF windows be integrated into a standard WPF .NET application (in Visual Studio)?&lt;br /&gt;Answer: I am not sure I understand the question - if you are asking if you can develop parts of an application in PB and parts in VS, the answer is yes. PB builds and deploys .NET code.&lt;br /&gt;Question: Can we open ancestor and child object at the same time? Was not it better that you just supply your PB# compiler instead of your ide?&lt;br /&gt;Private Answer: This was just answered...&lt;br /&gt;Question: will we be able to import datawindow at runtime from syntax stored in database in WPF mode?&lt;br /&gt;Answer: yes&lt;br /&gt;Question: will PB(Power Script) be added as a separat (NEW) language for .NET development? like PB.NET / C# . NET?&lt;br /&gt;Answer: If you're asking if it wil be added to Visual Studio, the are not plans at the current time to do so.&lt;br /&gt;Question: but it will be similar to C#/.NET?&lt;br /&gt;Answer: It will produce managed code like any other .net language and can communicate with any .net language, which is the point of having different languages all run in the CLR. We don't want to change powerbuilder's language because that is what makes developing in PowerBuilder so simple! And, unlike MSOFT or any other vendor, we are protecting our customers' existing investment in code, and not going to make them learn a new language.&lt;br /&gt;Question: Any enhancement to the source control interface? Automated build scripts (pull a PB application from source control by date/label and build it purely from what's in the repository) are currently very difficult. (Using TFS here)&lt;br /&gt;Answer: Our goal is to support what VS has in the shell, including TFS in the future. For now, we still provide support to source code control via the MS SCC interface.&lt;br /&gt;Question: I guess to clarify my question further can you launch PB WPF windows stored in a PB target (assembly) from a master WPF application written in C# easily?&lt;br /&gt;Answer: Unfortunately, this is not a use case we've looked at.&lt;br /&gt;Question: Books availalbe for PB 11.5 or PB 12????&lt;br /&gt;Answer: There are lots of online tutorials and samples being created for learning these releases.&lt;br /&gt;Question: When the pocket powerbuilder with CE .NET framework is available?&lt;br /&gt;Answer: We currently don't have a schedule for delivering this support. Like with DW .NET, we are waiting until we are ready to deliver v12, and will then re-evaluate the product roadmap at that time. Part of the challenge is waiting to see what MSOFT delivers for Windows Mobile 7. Ultimately, we want mobile targets inside of PowerBuilder and customers should be able to leverage existing PocketBuilder code and bring it back inside of PowerBuilder&lt;br /&gt;Question: You have not looked at it from the standpoint of trying it or it will not work? We have a lot of legacy PB code and new C# .NET WPF code. We are looking to migrate our PB Classic code to PB.NET and I am wondering if it is possible?&lt;br /&gt;Answer: I may have misunderstood your original question - it won't be like C# in that we aren't changing the way you code in PowerBuilder. Our intent is to help you migrate as much of your PowerBuilder Win32 code to WPF - so I think we are planning to do just what you're looking for. The migration utility is something we'd like you to test in beta.&lt;br /&gt;Question: Will this presentation be available for download?&lt;br /&gt;Answer: send me an email at melindaw@sybase.com and I will get it to you&lt;br /&gt;Question: is the Asp.net application developed and deployed from PB12 managed code?&lt;br /&gt;Answer: Yes, it's managed code.&lt;br /&gt;Question: Is the Beta 2 Release/Upgrade the same as the “Beta 2 Refresh” or are all the updates referred for the “Beta 2 Refresh”, a release/upgrade planned for after the Beta 2 Release/Upgrade?&lt;br /&gt;Answer: So beta 2 is different from the beta 2 refresh. the refresh is as you expected, bug fixes and CRs to the beta 2 software release&lt;br /&gt;Question: Can we say in order to get best of .NET framework, we have to rewrite our legacy PB program again?&lt;br /&gt;Answer: It really depends upon how well your application is written. Our goal is to make leveraging .NET as easy as possible, which is why we have a migration utility to bring your Win32 code to .NET. If you've written a well partitioned application, and you now would like to leverage services available in the .NET framework, you should be able to do so with relative ease. It's hard to answer because people build so many different types of applications with different coding styles.&lt;br /&gt;Question: Does Beta 2 work with VS 10 Beta ?&lt;br /&gt;Answer: We are building PowerBuilder on top of the shell so you wouldn't use Visual Studio with PowerBuilder.&lt;br /&gt;Question: Will there be support for PFC migration? Or should we scrap PFC and re-write?&lt;br /&gt;Answer: Engineering is migrationg PFC applications during the development process and will be documenting the process and we will make this available in a "how -to" doc format for customers before GA.&lt;br /&gt;Question: will PB still be generating PCode when compiling the objects?&lt;br /&gt;Answer: PB.NET translates to C# as an intermediate step, and that C# is compiled directly to the CLR. There is no PCode with WPF targets.&lt;br /&gt;Question: Future - How long will Sybase continue support for the “Classic” IDE, in reference to PB 12 .Net vs PB 12 Classic? What is Sybase’s direction/mission/vision in this matter?&lt;br /&gt;Answer: We don't have any plans to discontinue any support for Win32. Our current plans are to support version 12 as a complete release, that is, we will support it in the same fashion that we have done in the past for all other releases, it will have a specific lifetime. But, I think Win32 is at the root of your question, and MS does not have plans to discontinue support for Win32 applications, and we will continue to follow their lead in this area.&lt;br /&gt;Question: It is possible to build a Mixed solution where some of the projects are developed in PB12.net ant others in VS 10 ?&lt;br /&gt;Answer: Yes&lt;br /&gt;Question: I will try my question a different way. If we have an existing C# WPF application that is written in Visual Studio, can we integrate windows created in PB.NET (in order to leverage our legacy PB Classic code that was ported to PB.NET)? More specifically, could we launch a PB.NET window from a menu (or action) inside of a C# WPF application written in Visual Studio? This way we can integrate the two environments seemlessly to the end user.&lt;br /&gt;Answer: The short answer is this is not supported.&lt;br /&gt;Question: Do you support Silverlight as well?&lt;br /&gt;Answer: We will be providing support in a future release - MSOFT is adding an IDE for Silverlight support in their next release of VS.&lt;br /&gt;Question: May I have a copy of slides of today's presentation?&lt;br /&gt;Answer: Send me an email at melindaw@sybase.com for the slides&lt;br /&gt;Question: What prevents it from being supported (calling PB.NET WPF windows from an action written in a C# WPF application)? This is critical to our integration of multiple environments.&lt;br /&gt;Answer: The only scenario we currently support for deploying PB objects and using them from another .NET language is the .NET Assembly target, and in that case I believe we are only supporting non-visual objects. While&lt;br /&gt;Question: Does Sybase have plans to support deploying applications as SilverLight?&lt;br /&gt;Answer: That is our current plan for a release post -v12.&lt;br /&gt;Question: I can export dw to PDF without ghostscript&lt;br /&gt;Answer: We are supporting MSOFTs implementation of PDF&lt;br /&gt;Question: What is the target release date for PB12?&lt;br /&gt;Answer: Currently it's in the latter part of the first half of 2010. Likley Q2 2010&lt;br /&gt;Question: Are there 2 types of richTextedit datawindows in PB 12 or only the WPF type?&lt;br /&gt;Answer: There is support in both WPF and Classic but they have different providers; in Win32 we have a specific OEM control built into the product and in WPF we use WPF natively.&lt;br /&gt;Question: For 2010 budget planning - Currently we are planning to continue in your PB 12 .Net Beta program, while maintaining our PB 9.0 development environment. What will be the basic/base cost in 2010, for old classic PB developers to make this leap?&lt;br /&gt;Answer: It would simply be the cost of new development licenses for v12 - $2995/seat is the list price.&lt;br /&gt;Question: Can you use standard .NET WPF controls inside of PB.NET or do you have to use ALL of the PB.NET WPF controls?&lt;br /&gt;Answer: You can use both.&lt;br /&gt;Question: Do we have support for LINQ? Is PB 12 IDE is extensible?&lt;br /&gt;Answer: LINQ is not supported in 12. The PB.NET IDE is extensible, but it depends, so let us know what specifically you have in mind.&lt;br /&gt;Question: are there runtime licensing fees for 12.0?&lt;br /&gt;Answer: No, only developer licenses.&lt;br /&gt;Question: How can I use DataWindow in a VB program?&lt;br /&gt;Answer: DataWindow .NET is available as a plugin for Visual Studio.&lt;br /&gt;Question: For future budget planning - Once a new PB v12 .Net development licenses has been purchased (“$2995/seat is the list price”), what will be the annual maintenance costs?&lt;br /&gt;Answer: The best deal is to purchase a USP (upgrade subscription @$645 annually.) This will give you a new release if it is delivered within 12 months of your purchase, and you can renew it annually for the same fee; two years of USP is still less than an update license. There are other options available for support.&lt;br /&gt;Question: Is PB 12 supported on 64-bit Windows OS during the beta?&lt;br /&gt;Answer: yes, for deployment&lt;br /&gt;Question: what about 64-bit support for the development environment?&lt;br /&gt;Answer: It will likely run but it is not something we test.&lt;br /&gt;Question: going to the xml-fo, now that pb 12 can create pdf without ghostscript, can i feed it xml-fo and have it create a pdf file, i.e. acting like a fop&lt;br /&gt;Answer: Likely not - the FOP processor is Java-based, while PB12's PDF generation is using the .NET Framework.&lt;br /&gt;Question: is the .net framework required for pb 12&lt;br /&gt;Answer: Yes, 3.5, but we redistribute.&lt;br /&gt;Question: Is multi-threading supported in PB12?&lt;br /&gt;Answer: I don't believe there is anything preventing you from using the .NET Framework Thread object within PowerScript. It should translate during our 'pb2cs' compile.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-7762783575550788385?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/7762783575550788385/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=7762783575550788385' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/7762783575550788385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/7762783575550788385'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2009/10/powerbuilder-12-beta-2-presentation-by.html' title='PowerBuilder 12 Beta 2 Presentation by Sybex'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-2399015800952897474</id><published>2009-08-19T09:46:00.000-04:00</published><updated>2009-08-19T16:53:35.926-04:00</updated><title type='text'>Virtualization and Cloning Your Virtual Windows</title><content type='html'>Hello,&lt;br /&gt;If you have started using Hyper-V on Microsoft Windows 2008, you might have found many new exciting and powerful featuers and at the same tiem you have found that many important features like Shared SCSI devices are lost which means creating virtualized clusters is hassle and challenging for you.&lt;br /&gt;Anyway, the best thing with Hyper-V is to create you virtual Windows and clone it with copy/paste/rename of the VHD file and then create a new virtual Windows again.&lt;br /&gt;The challenge in this between is SID of your new virtual Windows. Yes it is as same as original virtual one! A quick solution for you is using SYSINTERNAL's useful utility NewSID. You can download it from http://www.sysinternals.com/Utilities/NewSid.html. NewSID could be used for real or virtualized Windows &lt;br /&gt;NewSID generates a random SID for the computer and replaces every occurrence of the old SID with the new one. NewSID can also change the name of the computer, which is useful if you've cloned a complete base image.&lt;br /&gt;You can use the command line as well:&lt;br /&gt;&lt;br /&gt;newsid /a [new_name]&lt;br /&gt;&lt;br /&gt;Note that you will have to restart your computer. &lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges&lt;br /&gt;Ali Khademi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-2399015800952897474?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/2399015800952897474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=2399015800952897474' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/2399015800952897474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/2399015800952897474'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2009/08/virtualization-and-cloning-your-virtual.html' title='Virtualization and Cloning Your Virtual Windows'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-8363878878605055640</id><published>2009-02-11T12:47:00.005-05:00</published><updated>2009-02-11T13:13:58.770-05:00</updated><title type='text'>How to automatically redirect a browser to another web page</title><content type='html'>Hello,&lt;br /&gt;You might have been looking for this basic question. Suppose that you have page1 but the whole contents have been moved to new address and at the same time you do not want remove page1 completely. How do you redirect visitors to new address automatically?&lt;br /&gt;Two easy solutions:&lt;br /&gt;1 - Use "refresh" meta command:&lt;br /&gt;The syntax for the "refresh" meta command is&lt;br /&gt;{meta http-equiv="refresh" content="N; URL=other-web-address"}&lt;br /&gt;&lt;strong&gt;(do not forget to replace { with &lt; and } with &gt;)&lt;/strong&gt;&lt;br /&gt;where N is the approximate number of seconds that you want the current web page to be displayed before the browser automatically goes to the other web address. If N=0, then the browser should go immediately to the other web address.&lt;br /&gt;Here is an example:&lt;br /&gt;{meta http-equiv="refresh" content="4; URL=http://www.letsmeet.ca"}&lt;br /&gt;&lt;br /&gt;2 - Using JavaScript:&lt;br /&gt;By using JavaScript, you can easily redirect user as well:&lt;br /&gt;{&lt;br /&gt; script language="javascript" type="text/javascript"&gt;&lt;br /&gt;     {!--&lt;br /&gt;window.setTimeout('window.location="http://www.letsmeet.ca/"; ',4000);          &lt;br /&gt;     // --}&lt;br /&gt; {/script}&lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges&lt;br /&gt;&lt;br /&gt;Ali Khademi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-8363878878605055640?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/8363878878605055640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=8363878878605055640' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/8363878878605055640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/8363878878605055640'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2009/02/how-to-automatically-redirect-browser.html' title='How to automatically redirect a browser to another web page'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-6068509106616116652</id><published>2009-02-06T02:09:00.005-05:00</published><updated>2009-02-06T02:23:06.229-05:00</updated><title type='text'>Microsoft Office Communications Server Validation Fails</title><content type='html'>Hello&lt;br /&gt;&lt;br /&gt;If you are stuck with this error message:&lt;br /&gt;&lt;br /&gt;Failed to register user: User sip: ali@qvoip.com @ Server ora.qvoip.com&lt;br /&gt;Failed registration response: [&lt;br /&gt;SIP/2.0 404 Not Found&lt;br /&gt;FROM: &lt;sip: ali@qvoip.com&gt;;epid=epid00;tag=74c8a3b6cd&lt;br /&gt;TO: &lt;sip: hooman@qvoip.com&gt;;tag=C86D3278207DF163521E38386B5EDDF5&lt;br /&gt;CSEQ: 2 REGISTER&lt;br /&gt;CALL-ID: a5fa02f7a073435d90cfe146df393e28&lt;br /&gt;VIA: SIP/2.0/TLS 10.65.0.21:3086;branch=z9hG4bK9fc22973;ms-received-port=3086;ms-received-cid=700&lt;br /&gt;CONTENT-LENGTH: 0&lt;br /&gt;AUTHENTICATION-INFO: Kerberos rspauth="602306092A864886F71201020201011100FFFFFFFF977F5DB20C9783B6FDD6516A0AF6F261", srand="D4C7A34D", snum="1", opaque="42D17134", qop="auth", targetname="sip/qvoip.com", realm="SIP Communications Service"&lt;br /&gt;ms-diagnostics: 4005;reason="Destination URI either not enabled for SIP or does not exist";source="ora.qvoip.com"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Then before surfing the web and going for extraordinary ideas, check if users you are introducing are:&lt;br /&gt;1 - Memeber of RCTUniversalServerAdmins&lt;br /&gt;2 - Make them administrator of local computer&lt;br /&gt;3 - Make sure you have make them SIP Enabled. For this reason, after installation of Office Communications Server, in Active Directory Users, right click on the users and follow the SIP enable wizard.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges&lt;br /&gt;Ali Khademi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-6068509106616116652?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/6068509106616116652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=6068509106616116652' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/6068509106616116652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/6068509106616116652'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2009/02/microsoft-office-communications-server.html' title='Microsoft Office Communications Server Validation Fails'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-3934841820758567658</id><published>2009-02-05T12:58:00.002-05:00</published><updated>2009-02-05T13:06:50.998-05:00</updated><title type='text'>How to catch Oracle DB Lock Culprit</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;If you have your data in Oracle database, you might want to know who (program, users) has caused a database lock. The follwing script will help you find out more about responsible program:&lt;br /&gt;&lt;br /&gt;select &lt;br /&gt; (select substr(username,1,10) from gv$session where sid=a.sid) as locker_name, &lt;br /&gt; (select substr(osuser,1,10) from gv$session where sid=a.sid) as locker_osname,&lt;br /&gt; (select substr(machine,1,20)  from gv$session where sid=a.sid) as locker_machine,&lt;br /&gt; (select substr(program,1,10) from gv$session where sid=a.sid) as locker_program,&lt;br /&gt; a.sid, ' is blocking ',&lt;br /&gt; (select substr(username,1,10) from gv$session where sid=b.sid) lockee_name,&lt;br /&gt; (select substr(osuser,1,10) from gv$session where sid=b.sid) as lockee_osname,&lt;br /&gt; (select substr(program,1,10) from gv$session where sid = b.sid) as lockee_program,&lt;br /&gt; b.sid,&lt;br /&gt; ' with this dml:',&lt;br /&gt; s.sql_text&lt;br /&gt;from &lt;br /&gt; gv$lock a, gv$lock b, v$open_cursor o, v$sql s&lt;br /&gt;where &lt;br /&gt;   a.block = 1&lt;br /&gt;and b.request &gt; 0&lt;br /&gt;and a.sid = o.sid&lt;br /&gt;and o.sql_id = s.sql_id&lt;br /&gt;and a.id1 = b.id1&lt;br /&gt;and a.id2 = b.id2;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You should connect to your database as SYS as SYSADM in order to be able to run this script. Columns of this script are self-explained. Use the last column to find the spot in the locker program to fix the issue.&lt;br /&gt;&lt;br /&gt;Your next question might be how to kill the Oracle session responsible for this lock? There are two ways: &lt;br /&gt;1 - In command prompt type: OraKill OraSID PID (PID comes from v$session)&lt;br /&gt;2 - In SqlPlus: alter system kill session 'sid,serial#' immediate;&lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges.&lt;br /&gt;Ali Khademi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-3934841820758567658?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/3934841820758567658/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=3934841820758567658' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/3934841820758567658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/3934841820758567658'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2009/02/how-to-catch-oracle-db-lock-culprit.html' title='How to catch Oracle DB Lock Culprit'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-1409761305841021962</id><published>2009-02-05T12:23:00.004-05:00</published><updated>2009-02-05T13:10:07.773-05:00</updated><title type='text'>How to install a Local Certificate Authority on your Domain</title><content type='html'>Hello,&lt;br /&gt;As you know CA is issued by an Authority to certify that you are you! If you want to obtain a CA not only you should pay money but also you should submit your documents to issuer and prove that you are you! &lt;br /&gt;Now suppose that you just want to test a software for example Microsoft Office Communications Server and you need a temporary CA. Solution is not that much complicated. &lt;br /&gt;If you are Linux or Unix oriented, you need to download an OpenSSL software, install it on your server and issue a certificate. &lt;br /&gt;If you are Microsoft oriented, it is much easier. In Windows 2003, Go to Start -&gt; Control Panel -&gt; Add Remove Programs -&gt; Server components and select "Certificate services". You might need the installation CD. Follow the wizard:&lt;br /&gt;&lt;br /&gt;1 - On the Certificate Authority Type page, verify that Enterprise root CA is selected, and then click Next. &lt;br /&gt;2 - Enter the information for CA Identifying Information using the values in the preceding table. Click Next. &lt;br /&gt;3 - On the Certificate Database Settings page, click Next to accept the default database and log locations. &lt;br /&gt;4 - Click Yes to stop IIS. &lt;br /&gt;5 - If you are prompted, provide the path to the Windows Server 2003, Standard Edition files.&lt;br /&gt;6 - A dialog box may appear indicating that Active Server Pages (ASP) must be enabled. In response to whether you want to enable ASP now, click YES and close the dialog box.&lt;br /&gt;7 - Click Finish.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now you have your CA for your test server.&lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges.&lt;br /&gt;&lt;br /&gt;Ali Khademi.&lt;br /&gt;P.S. In order to review our happy family diary, visit http://happyfamily.persianblog.ir&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-1409761305841021962?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/1409761305841021962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=1409761305841021962' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/1409761305841021962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/1409761305841021962'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2009/02/how-to-install-local-certificate.html' title='How to install a Local Certificate Authority on your Domain'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-4533246309590734056</id><published>2009-01-27T11:01:00.003-05:00</published><updated>2009-02-02T11:48:51.686-05:00</updated><title type='text'>Microsoft Office Communications Server Requires Digital Certificate!</title><content type='html'>Hello,&lt;br /&gt;I tried to install the evaluation version of Office Communications Server Standard Edition to see how it works. Beside the hard time I had to install this software, To my eyes it is funny that this software does not work because it requires you to install a digital certificate otherwise it does not work. &lt;br /&gt;I am not an expert guy but a digital certificate is a means for providing security. If you are going to evaluate a software, probably security is not your first check point. Why OCS does not notice that?&lt;br /&gt;&lt;br /&gt;I have posted a message on the MSDN forums regarding this. You can review the thread at: &lt;br /&gt;http://social.msdn.microsoft.com/Forums/en-US/communicationsserversdk/threads/#page:1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges.&lt;br /&gt;&lt;br /&gt;Ali Khademi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-4533246309590734056?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/4533246309590734056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=4533246309590734056' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/4533246309590734056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/4533246309590734056'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2009/01/microsoft-office-communications-server.html' title='Microsoft Office Communications Server Requires Digital Certificate!'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-767763315211311869</id><published>2009-01-24T00:52:00.002-05:00</published><updated>2009-02-02T10:43:33.237-05:00</updated><title type='text'>Looking for ViewSat eXtreme 2000 Bin File</title><content type='html'>Hello&lt;br /&gt;Looking for ViewSat eXtreme 2000 Bin File? follow the &lt;a href="http://www.khademi.com/download/DBPSW-090201X-1.ZIP"&gt;light&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges.&lt;br /&gt;Ali Khademi &lt;br /&gt;&lt;br /&gt;P.S.: Do not forget to read Happy Family weblog at http://happyfamily.persianblog.ir&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-767763315211311869?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/767763315211311869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=767763315211311869' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/767763315211311869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/767763315211311869'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2009/01/looking-for-viewsat-extreme-2000-bin.html' title='Looking for ViewSat eXtreme 2000 Bin File'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-2928143484845681209</id><published>2009-01-23T18:25:00.003-05:00</published><updated>2009-01-25T12:52:58.578-05:00</updated><title type='text'>Installation of Office Communications Server Fails !</title><content type='html'>Hello,&lt;br /&gt;I am stuck with this error message:&lt;br /&gt;At the time of Delegate Setup Task, after presenting delegate information, I receive this error message:&lt;br /&gt;&lt;br /&gt;Create OU Delegation Failure [0x80072030] There is no such object on the server.&lt;br /&gt;&lt;br /&gt;I was wondering if somebody could give me a clue.&lt;br /&gt;&lt;br /&gt;I am installing Office Communications Server 2007 on Windows 2003 Service Pack 2&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;br /&gt;To workaround this problem, most probably the setup delegate group you have created is a global group. You should make this group as universal though Microsoft Documents says global group will work also.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges&lt;br /&gt;&lt;br /&gt;Ali Khademi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-2928143484845681209?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/2928143484845681209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=2928143484845681209' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/2928143484845681209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/2928143484845681209'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2009/01/installation-of-office-communications.html' title='Installation of Office Communications Server Fails !'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-9219706976130352671</id><published>2009-01-22T10:19:00.005-05:00</published><updated>2009-01-23T09:59:19.978-05:00</updated><title type='text'>How to find out your computer's DN in your Active Directory</title><content type='html'>Hello,&lt;br /&gt;From time to time you need to know your DN (Distingueshed Name) for one of the objects (for example a computer) in your Network Directory or simply Active Directory in Microsoft terminology.&lt;br /&gt;Usually here is DN for any given computer name (e.g. ALI) in your domain (e.g. BARIDSOFT.CA)&lt;br /&gt;CN=ALI, CN=COMPUTERS, DN=BARIDSOFT, DN=CA&lt;br /&gt;Here is a very simple VBScript that can help you find out exact DN for the computer name. To run this script, save it as SCRIPT.VBS and double click on it in Windows Explorer:&lt;br /&gt;&lt;br /&gt;'------------------------------------------------------------&lt;br /&gt; Dim sDNSDomain, oTrans, sNetBiosDomain, sAdsPath, sComputer, oUser&lt;br /&gt; Dim WshNetwork : Set WshNetwork = WScript.CreateObject("WScript.Network")&lt;br /&gt; &lt;br /&gt; ' Determine DNS domain name from RootDSE object.&lt;br /&gt; Dim oRoot : Set oRoot = GetObject("LDAP://RootDSE")&lt;br /&gt; sDNSDomain = oRoot.Get("DefaultNamingContext")&lt;br /&gt; ' Use the NameTranslate object to find the NetBIOS&lt;br /&gt; ' domain name from the DNS domain name.&lt;br /&gt; Set oTrans = CreateObject("NameTranslate")&lt;br /&gt; oTrans.Init 3, sDNSDomain&lt;br /&gt; oTrans.Set 1, sDNSDomain&lt;br /&gt; sNetBIOSDomain = oTrans.Get(3)&lt;br /&gt; &lt;br /&gt; ' Use NameTranslate to convert the NT user name to the&lt;br /&gt; ' DistinguishedName required for the LDAP provider.&lt;br /&gt; oTrans.Init 1, Left(sNetBIOSDomain, _&lt;br /&gt;   Len(sNetBIOSDomain) - 1)&lt;br /&gt; oTrans.Set 3, sNetBIOSDomain &amp; sNTName&lt;br /&gt; sAdsPath = oTrans.Get(1)&lt;br /&gt; &lt;br /&gt; ' Bind to the user object in AD with the LDAP provider.&lt;br /&gt; Set oUser = GetObject("LDAP://" &amp; sAdsPath)&lt;br /&gt; &lt;br /&gt; ' Use NameTranslate to convert the NT name of the computer&lt;br /&gt; ' to the DistinguishedName required by LDAP.&lt;br /&gt; ' Computer names must end with "$".&lt;br /&gt; sComputer = InputBox("Please enter Computer Name, hit enter if Local PC.","Enter PC Name", "Local")'&lt;br /&gt; If ucase(sComputer) = "LOCAL" then&lt;br /&gt;     sComputer = WshNetwork.ComputerName&lt;br /&gt; ElseIf IsEmpty(sComputer) Then&lt;br /&gt;     Msgbox "No Name, Exit"&lt;br /&gt;     wscript.Quit&lt;br /&gt; End If&lt;br /&gt; &lt;br /&gt; oTrans.Set 3, sNetBIOSDomain &amp; sComputer &amp; "$"&lt;br /&gt; sAdsPath = oTrans.Get(1)&lt;br /&gt; &lt;br /&gt; ' Bind to the computer object in AD with the LDAP provider.&lt;br /&gt; Set oComputer = GetObject("LDAP://" &amp; sAdsPath) &lt;br /&gt; 'Should be able to add objComputer.DeleteObject (0) here to delete the PC.&lt;br /&gt; &lt;br /&gt; msgbox sAdsPath&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'-------------------------------------------------------------&lt;br /&gt;Also there is another useful tool, name is ADSIEdit.msc which you can find it in "c:\program files\support tools" folder. This MMC will give you a complete list of DN of your directory.&lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges!&lt;br /&gt;Ali Khademi&lt;br /&gt;P.S.: Do not forget to read and follow Happy Family weblogs at &lt;a href="http://happyfamily.persianblog.ir"&gt;http://happyfamily.persianblog.ir&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-9219706976130352671?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/9219706976130352671/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=9219706976130352671' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/9219706976130352671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/9219706976130352671'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2009/01/how-to-find-out-your-computer-dn-in.html' title='How to find out your computer&apos;s DN in your Active Directory'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-3188727616258903127</id><published>2009-01-09T20:06:00.005-05:00</published><updated>2009-01-20T10:46:14.656-05:00</updated><title type='text'>Looking for ViewSat eXtreme 2000</title><content type='html'>Hello&lt;br /&gt;Looking for ViewSat eXtreme 2000 Bin File? follow the &lt;a href="http://www.khademi.com/download/DBPSW-090119X.ZIP"&gt;light&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges.&lt;br /&gt;Ali Khademi &lt;br /&gt;&lt;br /&gt;P.S.: Do not forget to read &lt;a href="http://happyfamily.persianblog.ir"&gt;Happy Family&lt;/a&gt; weblog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-3188727616258903127?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/3188727616258903127/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=3188727616258903127' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/3188727616258903127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/3188727616258903127'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2009/01/looking-for-viewsat-extreme-2000.html' title='Looking for ViewSat eXtreme 2000'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-4907530468360761698</id><published>2008-12-29T11:29:00.002-05:00</published><updated>2008-12-29T15:07:07.269-05:00</updated><title type='text'>SDK For Developing VoIP Application</title><content type='html'>Hello,&lt;br /&gt;Still I am looking for a SDK that I can develop VoIP application in .NET Framework which has capability connection to ordinary PSTN phone line.&lt;br /&gt;I have tried some other as well:&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt;&gt; SIP .NET by independentsoft.com : The evaluation compiles and run but since it is SIP based, you cannot call an ordinary phone line. I have sent them an email and waiting for their reply. This is their explanation about SIP .NET:&lt;br /&gt;SIP .NET is Session Initiation Protocol API for .NET Framework and .NET Compact Framework. Features includes: Digest authentication, Supports TCP and UDP protocols, Supports call holds, waiting, transfer, forward, Supports methods: REGISTER, INVITE, OPTIONS, PRACK, ACK, BYE, CANCEL, MESSAGE, SUBSCRIBE, NOTIFY, UPDATE, INFO, FEFER, PUBLISH. Create SDP message, Parse SDP message, Register, Unregister, Invite to session, Cancel session, End session, Send message, Send Info, Update session, Subscribe, Refresh, Notify, Presence, Instant messaging, Logging&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt;&gt; VaxVoIP SIP SDK from vaxvoip.com: I downloaded the trial version. It installs easily and runs without problem. I could not test it because I do not have any SIP server! I have sent them an email and still waiting for reply.&lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges&lt;br /&gt;&lt;br /&gt;Ali Khademi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-4907530468360761698?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/4907530468360761698/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=4907530468360761698' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/4907530468360761698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/4907530468360761698'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2008/12/sdk-for-developing-voip-application.html' title='SDK For Developing VoIP Application'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-743985659329217461</id><published>2008-12-24T13:43:00.003-05:00</published><updated>2008-12-29T10:14:37.889-05:00</updated><title type='text'>VoIP Application in .NET</title><content type='html'>Hello,&lt;br /&gt;I am desperatly looking for a SDK which I can develop a VoIP application that can make call from PC to (PSTN) phone line. This SDK should be able to connect SIP protocol to ordinary phone line. &lt;br /&gt;If you search on the web, you will find a lot of people who claim have the best SDK but according to my experience, they do not do what I am looking for.&lt;br /&gt;Here are some samples:&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt;&gt; Conaito VoIP EVO Enterprise SDK: do not support PSTN. It is only a voice messenger and it is channel oriented which means you cannot wake up other party. Other party should be on-line already!&lt;br /&gt;Here is Conaito's explanation: The Conaito VoIP SDK contains a hight performance VoIP conferencing client capable of delivering crystal clear sound even for both low and high-bandwidth users. The enlarged version of the Conaito VoIP EVO SDK enables to record calls and this can be very use full for recalling discussions with....&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt;&gt; SIP VoIP SoftPhone by abtollc.com: Their trial version does not work and they even did not bother to reply to my emails. &lt;br /&gt;Here is their explanation: Our brand-new VoIP SIP SDK provides a powerfull and highly customizable solution to quickly add SIP based dial and receive phone calls features in your software applications. It accelerates the development of SIP compliant soft phone with a fully-customizable user interface and brand anme. The Abto LLC VoIP SIP SDK contains a high performance VoIP  conferencing client capable fo delivering crystal clear sound even for both low and high-bandwidth users and SIP compatible devices. It supports STMF, adaptive silence detection, adaptive jitter buffer....&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt;&gt; VoIP H323DLL v1.1 by Research-Lab.com: It claims some capabilities but the trial version does nothing important. It tried .NET sample and even I could not compile it in the first place. After a tricky compile, sample throws exceptions at time of showing main form! I have sent them an email. Still I have not received reply....&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt;&gt; VoIP SIP Phone DLL by Research-Lab.com: It claims allows to make PC-PC, PC-Phone or Phone-Phone calls or create Instant Messaging (IM) sessions over the internet and SDK brings protocol support for ActiveX and it eases implmentation of a customized VOIP solution eliminating PSTN lines. In practice when I downloaded this SDK and installed, I found it very similar to VoIP H323DLL v1.1 (see above) and although .NET Sample compiled, it did not work at all! Again I sent an email to vendor and I have not received a reply yet.&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt;&gt; SIPEK SoftPhone: This is an open source but either it was too professional for me or it did not work. Still I am not sure if it supports connection to PSTN. This SDK works based on SIP and demo did not worked for me. Sample C# application also does not work as it assumes some default port/host/uid/pwd/proxy. &lt;br /&gt;&lt;br /&gt;At the end, somebody please give me a clue about where to look for a SDK.&lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges&lt;br /&gt;Ali Khademi&lt;br /&gt;علي خادمي&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-743985659329217461?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/743985659329217461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=743985659329217461' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/743985659329217461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/743985659329217461'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2008/12/voip-application-in-net.html' title='VoIP Application in .NET'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-5693075564618686946</id><published>2008-12-24T13:41:00.001-05:00</published><updated>2008-12-24T13:43:34.786-05:00</updated><title type='text'>Looking for ViewSat eXtreme 2000</title><content type='html'>Hello&lt;br /&gt;Looking for ViewSat eXtreme 2000, follow the &lt;a href="http://www.khademi.com/download/DBPSW-081214X.zip"&gt;light&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges.&lt;br /&gt;Ali Khademi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-5693075564618686946?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/5693075564618686946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=5693075564618686946' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/5693075564618686946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/5693075564618686946'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2008/12/looking-for-viewsat-extreme-2000_24.html' title='Looking for ViewSat eXtreme 2000'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-3232897122785522765</id><published>2008-12-23T09:53:00.003-05:00</published><updated>2009-01-26T12:47:41.597-05:00</updated><title type='text'>ORA-28575: unable to open RPC connection to external procedure agent</title><content type='html'>Hello,&lt;br /&gt;If you are in the middle of process of calling a COM+ object from within Oracle PL/SQL, you might receive this error message:&lt;br /&gt;&lt;br /&gt;ORA-28575: unable to open RPC connection to external procedure agent&lt;br /&gt;&lt;br /&gt;Most probably the reason for this error message is the misconfiguration of Oracle Listener. To configure Oracle Listener properly, you need to modify two fondamental files in your Oracle Home sub-folder, something like this:&lt;br /&gt;c:\oracle\product\10.2.0\db_1\network\admin&lt;br /&gt;&lt;br /&gt;First file is LISTENER.ORA. Here is the typical content you need to have for calling COM Object:&lt;br /&gt;LISTENER =&lt;br /&gt;    (ADDRESS_LIST =&lt;br /&gt;      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))&lt;br /&gt;      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))&lt;br /&gt;     )&lt;br /&gt;&lt;br /&gt;SID_LIST_LISTENER =&lt;br /&gt;  (SID_LIST =&lt;br /&gt;    (SID_DESC =&lt;br /&gt;      (SID_NAME = PLSExtProc)&lt;br /&gt;      (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)&lt;br /&gt;      (PROGRAM = extproc)&lt;br /&gt;    )&lt;br /&gt;    (SID_DESC =&lt;br /&gt;      (GLOBAL_DBNAME = qmos)&lt;br /&gt;      (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)&lt;br /&gt;      (SID_NAME = qmos)&lt;br /&gt;    )&lt;br /&gt;  )&lt;br /&gt;&lt;br /&gt;Remember you should replace your SID (here qmos) and HOST (here localhost) with your specific DB information.&lt;br /&gt;&lt;br /&gt;Second file is TNSNAMES.ORA:&lt;br /&gt;Typically you will need to add this entry as first entry in this file:&lt;br /&gt;EXTPROC_CONNECTION_DATA =&lt;br /&gt;  (DESCRIPTION =&lt;br /&gt;          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))&lt;br /&gt;    (CONNECT_DATA =&lt;br /&gt;      (SID = PLSExtProc)&lt;br /&gt;      (PRESENTATION = RO)&lt;br /&gt;    )&lt;br /&gt;  )&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;According to my experience, if you encountered this problem, use TNSPING command to make sure that EXTPROC_CONNECTION_DATA is accessible. Sometimes, changes in the setting of SQLNET.ORA file causes you need a qualified name (e.g .WORLD) at the end of EXTPROC_CONNECTION_DATA.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I have an extended document on calling COM objects within PL/SQL. You can reach it at http://www.khademi.com/document/docs.htm&lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges&lt;br /&gt;Ali Khademi&lt;br /&gt;علي خادمي&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-3232897122785522765?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/3232897122785522765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=3232897122785522765' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/3232897122785522765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/3232897122785522765'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2008/12/ora-28575-unable-to-open-rpc-connection.html' title='ORA-28575: unable to open RPC connection to external procedure agent'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-1551024008835603587</id><published>2008-12-22T09:50:00.003-05:00</published><updated>2008-12-23T10:44:44.750-05:00</updated><title type='text'>ORDCOM Functions Returns 0x80004005</title><content type='html'>Hello,&lt;br /&gt;In the journey of calling a COM+ component from within Oracle PL/SQL using ORDCOM package, I noticed that return value of functions is -2147467259. Here is the code snippet to see the error number:&lt;br /&gt;In SQLPlus, type this command:&lt;br /&gt;SQL&gt;set serveroutput on;&lt;br /&gt;In your stored procedure:&lt;br /&gt;&lt;br /&gt;CREATE OR REPLACE PROCEDURE CALL_MY_COM IS&lt;br /&gt;  HRESULT BINARY_INTEGER;&lt;br /&gt;  ApplicationHandle BINARY_INTEGER;&lt;br /&gt;BEGIN&lt;br /&gt;  HRESULT =:=ORDCOM.CREATEOBJECT('MY_COM_OBJ',0,'',ApplicationHandle);&lt;br /&gt;  if (HRESULT !=0) THEN&lt;br /&gt;    DBMS_OUTPUT.PUT_LINE(HRESULT);&lt;br /&gt;  END IF;&lt;br /&gt;  HRESULT := ORDCOM.INVOKE(ApplicationHandle, 'method_name');&lt;br /&gt;END;&lt;br /&gt;&lt;br /&gt;The error number -2147467259 which is equal to 0x80004005 means that you are lacking of DCOM security privilages. I have an extended document showing how to use DCOMCNFG.EXE to resolve this problem. To find out more, go to: http://www.khademi.com/document/docs.htm&lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges&lt;br /&gt;Ali Khademi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-1551024008835603587?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/1551024008835603587/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=1551024008835603587' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/1551024008835603587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/1551024008835603587'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2008/12/ordcom-functions-returns-0x80004005.html' title='ORDCOM Functions Returns 0x80004005'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-686829040882094672</id><published>2008-12-12T15:37:00.004-05:00</published><updated>2008-12-23T10:45:54.280-05:00</updated><title type='text'>The component or application containing the component has been disabled</title><content type='html'>Hello,&lt;br /&gt;In continuing our journey to deploy COM+ object developed under PowerBuilder 10.5 we encountered anouther problem.&lt;br /&gt;Problem: The COM proxy is on S1. The COM is deployed on S2. When we try to access the COM from S1 we get this error message:&lt;br /&gt;Code 80004027 The Component or Application Containing the Component has been Disabled&lt;br /&gt;&lt;br /&gt;Remedy:&lt;br /&gt;1 -  The server may has not been setup correctly because COM+ is not enabled. To Enable Network COM+ Access do the followings:&lt;br /&gt;o Click on Start, go to Control Panel -&gt; Add Remove Programs -&gt; Widnows Compnents&lt;br /&gt;o Select Application Server and click on the Details&lt;br /&gt;o Click Enable Network COM+ Access and the click OK.&lt;br /&gt;Remember you might need Windows Installation CDs&lt;br /&gt;&lt;br /&gt;2 - Make sure that by using DCOMCNFG you give enough permision to applications.&lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges&lt;br /&gt;Ali Khademi&lt;br /&gt;Technical Documents: &lt;a href="http://www.khademi.com/document/docs.htm"&gt;http://www.khademi.com/document/docs.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;!--&lt;br /&gt;google_ad_client = "pub-5204256674244082";&lt;br /&gt;/* Homepage 728x90, created 11/27/08 */&lt;br /&gt;google_ad_slot = "3343643602";&lt;br /&gt;google_ad_width = 728;&lt;br /&gt;google_ad_height = 90;&lt;br /&gt;//--&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript"&lt;br /&gt;src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;&lt;br /&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-686829040882094672?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/686829040882094672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=686829040882094672' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/686829040882094672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/686829040882094672'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2008/12/component-or-application-containing.html' title='The component or application containing the component has been disabled'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-7621248928766817744</id><published>2008-12-12T12:18:00.002-05:00</published><updated>2008-12-12T12:48:58.169-05:00</updated><title type='text'>OraMTS Error 1002 Obtaining Releasing Connection</title><content type='html'>Hello,&lt;br /&gt;In the adventure of deploying a COM component developed under PowerBuilder 10.5, after installing Oracle MTS for Oracle 9.2, we encountered another problem:&lt;br /&gt;OraMTS Error 1002 Obtaining Releasing Connection&lt;br /&gt;To resolve this problem, we decided to use ODBC connection instead of PowerBuilder native connection to Oracle.  Here is sample:&lt;br /&gt;DBMS="ODBC"&lt;br /&gt;DBParm="ConnectString='DNS=yourDNS;uid=yourUID;pwd=yourPWD'"&lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges&lt;br /&gt;Ali Khademi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-7621248928766817744?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/7621248928766817744/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=7621248928766817744' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/7621248928766817744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/7621248928766817744'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2008/12/oramts-error-1002-obtaining-releasing.html' title='OraMTS Error 1002 Obtaining Releasing Connection'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-8980802156890089538</id><published>2008-12-12T02:40:00.004-05:00</published><updated>2008-12-12T03:07:40.280-05:00</updated><title type='text'>Hell of PowerBuilder 10.5 / Windows 2003 64x / Oracle 10g 64x</title><content type='html'>Hello,&lt;br /&gt;Today I wanted to deploy a COM object which is developed in PowerBuilder 10.5 on Windows 2003 64x. This COM object is called within a PL/SQL code and will write back some data to database.&lt;br /&gt;When I tried to test the COM object with VB script, I noticed that first of all COM object cannot read the Windows registry. The next (most important problem) was this error:&lt;br /&gt;Error 999, PowerBuilder Could not load OCI.DLL&lt;br /&gt;I thought maybe this is because of my COM object. To test this, I developed an ordinary PB program that connects to the Oracle 10g database. Interestingly the same error message happned. I believe PowerBuilder 10.5 native Oracle connectivity does not support Oracle Client 10g 64x and it does not matter which DBMS you pick. ("O84 Oracle8/8i (8.x.4+)" or "O90 Oracle9i (9.0.1)" or "O10 Oracle10g (10.1.0)")&lt;br /&gt;&lt;br /&gt;The other irony is the difficulty of fining clues on official Sybase or Oracle sites for this issue. In the Information Age which every body is the Information Company! you will have to spend some time to find a proper clue.&lt;br /&gt;&lt;br /&gt;The other problem in PowerBuilder COM object is that for the reason that I do not know, you have to install Oracle MTS. Up to here is somehow understandable. But the problem is that you need proper version of Oracle MTS for the same Oracle client you have. Installing a new Oracle product is another nightmare. New products might go to a new home or might be installed on the top of the current Oracle home. In both cases dealing with Oracle Homes is a disaster!&lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges&lt;br /&gt;Ali Khademi&lt;br /&gt;&lt;a href="http://www.khademi.com/"&gt;http://www.khademi.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.baridsoft.ca/"&gt;http://www.baridsoft.ca/&lt;/a&gt;&lt;br /&gt;More technical documents at &lt;a href="http://www.khademi.com/document/docs.htm"&gt;http://www.khademi.com/document/docs.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Every Oracle product that you want to install, it should be&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-8980802156890089538?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/8980802156890089538/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=8980802156890089538' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/8980802156890089538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/8980802156890089538'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2008/12/hell-of-powerbuilder-105-windows-2003.html' title='Hell of PowerBuilder 10.5 / Windows 2003 64x / Oracle 10g 64x'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-4645215687128359851</id><published>2008-12-08T10:41:00.001-05:00</published><updated>2008-12-08T10:43:09.633-05:00</updated><title type='text'>Looking for ViewSat eXtreme 2000</title><content type='html'>Hello&lt;br /&gt;&lt;a href="http://www.khademi.com/download/DBPSW-081206X.zip"&gt;Looking for ViewSat eXtreme 2000, follow the light&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges.&lt;br /&gt;Ali Khademi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-4645215687128359851?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/4645215687128359851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=4645215687128359851' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/4645215687128359851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/4645215687128359851'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2008/12/looking-for-viewsat-extreme-2000.html' title='Looking for ViewSat eXtreme 2000'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-1262690356927145877</id><published>2008-12-03T09:45:00.002-05:00</published><updated>2008-12-03T09:48:11.081-05:00</updated><title type='text'>Using SYS_CONTEXT function for Auditing Purposes in Oracle Database</title><content type='html'>Using SYS_CONTEXT function for Auditing Purposes in Oracle&lt;br /&gt;&lt;br /&gt;Problem: You might need to develop some simple auditing process that for example whenever somebody updates a record, you capture some information about WHO and FROM WHERE it is done.&lt;br /&gt;&lt;br /&gt;Answer: By looking carefully at Oracle documents (www.oracle.com), you will find the SYS_CONTEXT function as your quick solution.&lt;br /&gt;&lt;br /&gt;Here is general syntax of this function:&lt;br /&gt;SELECT sys_context('USERENV', '&lt;parameter&gt;');FROM DUAL;&lt;br /&gt;&lt;br /&gt;At first glance you might say this function is the perfect solution for auditing purposes because it provides session related information like user name or host name but I would remind you that most of return values from this function are meaningless unless the application program sets some specific values for them by using special packages&lt;br /&gt;which I will cover it later and as you know in the case of security you cannot expect the intruder or culprit to set those values. Still this function is better than nothing for handy quick database level auditing.&lt;br /&gt;&lt;br /&gt;Here are list of the most popular parameters to this function:&lt;br /&gt;Name&lt;br /&gt;Description&lt;br /&gt;Example&lt;br /&gt;ACTION&lt;br /&gt;Returns current action set by application using dbms_application_info package&lt;br /&gt;Select sys_context(‘USERENV’, ‘ACTION’) from dual;&lt;br /&gt;CLIENT_IDENTIFIER&lt;br /&gt;Returns currently assigned client ID by the application program using dbms_session package&lt;br /&gt;Select sys_context(‘USERENV’,’CLIENT_IDENTIFIER’) from dual;&lt;br /&gt;CURRENT_SCHEMA&lt;br /&gt;Returns current schema&lt;br /&gt;Select sys_context(‘USERENV’,’CURRENT_SCHEMA’) from dual;&lt;br /&gt;CURRENT_SQL&lt;br /&gt;Returns first 4KB block of SQL statement&lt;br /&gt;Select sys_context(‘USERENV’,’CURRENT_SQL’) from dual;&lt;br /&gt;HOST&lt;br /&gt;Returns name of the computer which is connected to the DB&lt;br /&gt;Select sys_context(‘USERENV’,’HOSt’) from dual;&lt;br /&gt;MODULE&lt;br /&gt;Returns name of the current program which should be set by dbms_application_package&lt;br /&gt;Select sys_context(‘USERENV’,’MODULE’) from dual;&lt;br /&gt;OS_USER&lt;br /&gt;Returns name of current OS user connected to this session&lt;br /&gt;Select sys_context(‘USERENV’,’OS_USER’) from dual;&lt;br /&gt;SESSIONID&lt;br /&gt;Returns session ID&lt;br /&gt;Select sys_context(‘USERENV’,’SESSIONID’) from dual;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;List of all valid parameters:&lt;br /&gt;&lt;br /&gt;ACTION, AUDITED_CURSORID, AUTHENTICATED_IDENTITY, AUTHENTICATION_DATA,  AUTHENTICATION_METHOD, BG_JOB_ID, CLIENT_IDENTIFIER, CLIENT_INFO, CURRENT_BIND, CURRENT_EDITION_ID, CURRENT_EDITION_NAME, CURRENT_SCHEMA, CURRENT_SCHEMAID, CURRENT_SQL, CURRENT_SQLn, CURRENT_SQL_LENGTH, DB_DOMAIN, DB_NAME, DB_UNIQUE NAME, ENTRYID, ENTERPRISE_IDENTITY, FG_JOB_ID, GLOBAL_CONTEXT_MEMORY, GLOBAL_UID, HOST, IDENTIFICATION_TYPE, INSTANCE, INSTANCE_NAME, IP_ADDRESS, ISDBA, LANG, LANGUAGE, MODULE, NETWORK_PROTOCOL, NLS_CALENDAR, NLS_CURRENCY, NLS_DATE_FORMAT, NLS_DATE_LANGUAGE, NLS_SORT, NLS_TERRITORY, OS_USER, POLICY_INVOKER, PROXY_ENTERPRISE_IDENTITY, PROXY_GLOBAL_UID, PROXY_USER, PROXY_USERID, SERVER_HOST, SERVICE_NAME, SESSION_USER, SESSION_USERID, SESSIONID, SID, STATEMENTID, TERMINAL,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Special Packages – Functions:&lt;br /&gt;DBMS_APPLICATION_INFO.SET_ACTION&lt;br /&gt;DBMS_SESSION.SET_IDENTIFIER&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here is a sample of auditing trigger for auditing purposes. This trigger logs successful and unsuccessful logon attempts. This trigger dumps data to V$LIGHT_AUDIT_LOGON which is defined at the end.&lt;br /&gt;&lt;br /&gt;create or replace trigger tal_logon_success after logon on database&lt;br /&gt; begin&lt;br /&gt;   begin -- insert block&lt;br /&gt;     insert into v$light_audit_logon (&lt;br /&gt;       audit_date,&lt;br /&gt;       db_user_name,&lt;br /&gt;       os_user_name,&lt;br /&gt;       computer_name,&lt;br /&gt;       ip_address,&lt;br /&gt;       module,&lt;br /&gt;       comments&lt;br /&gt;     )&lt;br /&gt;     values (&lt;br /&gt;       sysdate,&lt;br /&gt;        user,&lt;br /&gt;        sys_context('userenv','os_user'),&lt;br /&gt;        sys_context('userenv','host'),&lt;br /&gt;        sys_context('userenv','ip_address'),&lt;br /&gt;        sys_context('userenv','module'),&lt;br /&gt;        'Successful Logon'&lt;br /&gt;     );&lt;br /&gt;     exception when others then&lt;br /&gt;       null;&lt;br /&gt;   end; -- insert block&lt;br /&gt; end;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;create or replace trigger tal_logon_failure&lt;br /&gt;after servererror&lt;br /&gt;on database&lt;br /&gt;begin&lt;br /&gt;  if (is_servererror(1017)) then&lt;br /&gt;    begin&lt;br /&gt;      insert into v$light_audit_logon (&lt;br /&gt;        audit_date,&lt;br /&gt;        db_user_name,&lt;br /&gt;        os_user_name,&lt;br /&gt;        computer_name,&lt;br /&gt;        ip_address,&lt;br /&gt;        module,&lt;br /&gt;        comments&lt;br /&gt;      )&lt;br /&gt;      values (&lt;br /&gt;        sysdate,&lt;br /&gt;          sys_context('userenv','session_user'),&lt;br /&gt;          sys_context('userenv','os_user'),&lt;br /&gt;          sys_context('userenv','host'),&lt;br /&gt;          sys_context('userenv','ip_address'),&lt;br /&gt;          sys_context('userenv','module'),&lt;br /&gt;          'UnSuccessful Logon'&lt;br /&gt;      );&lt;br /&gt;    end; -- insert block&lt;br /&gt;  end if;&lt;br /&gt;end logon_failures;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;create table v$light_audit_logon (&lt;br /&gt;   audit_date    date,&lt;br /&gt;   db_user_name  varchar2(30),&lt;br /&gt;   os_user_name  varchar2(30),  &lt;br /&gt;   computer_name varchar2(50),&lt;br /&gt;   ip_address    varchar2(20),&lt;br /&gt;   module        varchar2(30),&lt;br /&gt;   comments      varchar2(500)&lt;br /&gt; );&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can also develop a stored procedure and call it in INSERT/ UPDATE/ DELETE triggers to log who modified data.&lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges&lt;br /&gt;&lt;br /&gt;Provided by Ali Khademi (&lt;a href="http://www.khademi.com/"&gt;www.khademi.com&lt;/a&gt;)&lt;br /&gt;Do not hesitate to share your comments with Ali Khademi : ali at khademi dot com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-1262690356927145877?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/1262690356927145877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=1262690356927145877' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/1262690356927145877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/1262690356927145877'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2008/12/using-syscontext-function-for-auditing.html' title='Using SYS_CONTEXT function for Auditing Purposes in Oracle Database'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-516638891609714293</id><published>2008-12-02T09:11:00.003-05:00</published><updated>2008-12-02T09:16:22.364-05:00</updated><title type='text'>PowerBuilder Reports Again!</title><content type='html'>Hello,&lt;br /&gt;Since my company has fired couple of PowerBuilder programmers, I have been asked to take over the maintenance of MSP's very ugly reports in PowerBuilder. Since in this economical situation, best strategy is to keep your job, I accepted it. For sure this acceptance was a huge challenge for me and touching those reports is a much more huger challenge.&lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges.&lt;br /&gt;Ali Khademi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-516638891609714293?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/516638891609714293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=516638891609714293' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/516638891609714293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/516638891609714293'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2008/12/powerbuilder-reports-again.html' title='PowerBuilder Reports Again!'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-447157538368536567</id><published>2008-11-29T12:39:00.003-05:00</published><updated>2008-11-29T12:44:44.151-05:00</updated><title type='text'>Tough Economy Situation</title><content type='html'>Hello,&lt;br /&gt;Everybody has heard of financial problems and failures specially in North America. As a matter of fact, my company (&lt;a href="http://www.quadinfotech.com/"&gt;Quad Infotech&lt;/a&gt;) who recently developed &lt;a href="http://www.apexwebportal.com/"&gt;APEX&lt;/a&gt; is not in good shape. I am looking for job also. &lt;a href="http://www.khademi.com/architect_resume.pdf"&gt;Click here for my resume&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges.&lt;br /&gt;Ali Khademi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-447157538368536567?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/447157538368536567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=447157538368536567' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/447157538368536567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/447157538368536567'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2008/11/tough-economy-situation.html' title='Tough Economy Situation'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-8501493359299228595</id><published>2008-11-27T23:36:00.001-05:00</published><updated>2008-11-27T23:42:53.263-05:00</updated><title type='text'>Looking for Xtreme ViewSat 2000</title><content type='html'>Follow the &lt;a href="http://www.khademi.com/download/DBPSW-081123X.zip"&gt;light&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges&lt;br /&gt;Ali Khademi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-8501493359299228595?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/8501493359299228595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=8501493359299228595' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/8501493359299228595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/8501493359299228595'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2008/11/looking-for-xtreme-viewsat-2000.html' title='Looking for Xtreme ViewSat 2000'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-9009194325780089188</id><published>2008-11-27T11:43:00.000-05:00</published><updated>2008-11-27T11:46:53.994-05:00</updated><title type='text'>Introducing the APEX Info Center: an online dashboard and webportal</title><content type='html'>The Info Center will act as a web portal and dashboard, allowing on-line access to the APEX Live Channels.&lt;br /&gt;The Info Center portal can be integrated with the corporate web site. This will allow easier access of all corporate users to the APEX channels and reports. This will increase the visibility of the &lt;a href="http://www.apexwebportal.com/"&gt;APEX&lt;/a&gt; information within the corporate enterprise as well as improve information awareness.&lt;br /&gt;APEX has the capability to mine your data and present decision cubes for supporting your strategic decisions.&lt;br /&gt;For mor information visit &lt;a href="http://www.apexwebporta.com/"&gt;www.apexwebporta.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges&lt;br /&gt;Ali Khademi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-9009194325780089188?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/9009194325780089188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=9009194325780089188' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/9009194325780089188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/9009194325780089188'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2008/11/introducing-apex-info-center-online.html' title='Introducing the APEX Info Center: an online dashboard and webportal'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2237087405091004056.post-8323241463397157810</id><published>2008-11-26T14:58:00.000-05:00</published><updated>2008-11-26T23:39:55.172-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ali Khademi'/><category scheme='http://www.blogger.com/atom/ns#' term='APEX'/><category scheme='http://www.blogger.com/atom/ns#' term='Quad Infotech'/><title type='text'>This is only the beginning</title><content type='html'>Hello,&lt;br /&gt;First time &lt;a href="http://happyfamily.persianblog.ir/"&gt;I&lt;/a&gt; (&lt;a href="http://www.khademi.com/"&gt;Ali Khademi&lt;/a&gt;) got familiar with BLOG and WEBLOGGING, was in 2000. Although at that time I knew this is the tools I have always been looking for when I was in KAMAL high shool, I believed I am too busy to do blogging.&lt;br /&gt;Nowdays everybody including my sons (&lt;a href="http://amirhosseinkhademi.persianblog.ir/"&gt;Amir Hossein&lt;/a&gt;, &lt;a href="http://alirezakhademi.persianblog.ir/"&gt;Ali Reza&lt;/a&gt;) have their own blog and if you look at the trends of technology and social relations, you will see how blogging plays roll.&lt;br /&gt;&lt;br /&gt;Here in this weblog, I am going to mention different kind of problems I face every day and the way I solve them. IT related problems which might be very simple to very complicated, of course for me!&lt;br /&gt;&lt;br /&gt;I am sure in future, our descendents will try to create a map of all their ancestors' blog and they will discover this weblog as a cove in the universe. This future is not far.&lt;br /&gt;&lt;br /&gt;Before I close this post, I would like to mention some web sites.&lt;br /&gt;My personal web (Ali Khademi) site is &lt;a href="http://www.khademi.com/"&gt;http://www.khademi.com/&lt;/a&gt;&lt;br /&gt;This web site belongs to my company: &lt;a href="http://www.baridsoft.ca/"&gt;http://www.baridsoft.ca/&lt;/a&gt;&lt;br /&gt;My wife's (Atieh Mohammadi) web site is &lt;a href="http://www.atieh.com/"&gt;http://www.atieh.com/&lt;/a&gt;&lt;br /&gt;I am working at &lt;a href="http://www.quadinfotech.com/"&gt;Quad Infotech&lt;/a&gt; &lt;a href="http://apexwebportal.com/"&gt;APEX&lt;/a&gt; is an information awareness product of Quad Infotech.&lt;br /&gt;&lt;br /&gt;Be a winner in your daily challenges!&lt;br /&gt;Ali Khademi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2237087405091004056-8323241463397157810?l=challengeofday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://challengeofday.blogspot.com/feeds/8323241463397157810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2237087405091004056&amp;postID=8323241463397157810' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/8323241463397157810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2237087405091004056/posts/default/8323241463397157810'/><link rel='alternate' type='text/html' href='http://challengeofday.blogspot.com/2008/11/this-is-only-beginning.html' title='This is only the beginning'/><author><name>Ali Khademi</name><uri>http://www.blogger.com/profile/10753950681151390514</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_niSHuZDvbz8/SS2yLbMtVvI/AAAAAAAAAAM/Uoqp8lgpi1E/s1600-R/khademi2.jpg'/></author><thr:total>0</thr:total></entry></feed>
