Friday, October 26, 2007

(70-528) Web-Based Client Development

Wiki
Preparation Guide
E-Snips
Flash Cards
Files 4 Sharing

.NET Videos

Educational Videos for .NET

Dot Net Rocks!
Learn Visual Studio
Channel 9
Learn ASP.NET
Windows Client.NET

Thursday, October 25, 2007

Types of Soft Skills

General
communicating ideas and information
communication skills
working with others and in teams
using mathematical ideas and techniques
solving problems
thinking skills
learning skills

Project Management and Analyist
collecting and analysing information
skills in managing projects and priorities
planning and organising activities

Technical
using technology
skills in working with and understanding systems
skills in applying and using information technology

Managerial
leadership skills
personal and interpersonal skills

Friday, October 19, 2007

Cannot Delete OCI.DLL in Oracle Client BIN

In the process of re-installing a different version of the Oracle client, I needed to un-install the first version. I went through the de-install process with the Universal Installer:



Then I attempted to delete the client_1 folder at C:\oracle\product\10.2.0\client_1\BIN but received an error and was unable to delete. I tried deleting all of the files in the \bin directory and was left with oci.dll

There were no Oracle services running.

I renamed "oci.dll" to "delete.txt" and rebooted the server. I was then able to delete the folder and start fresh.

Thursday, October 18, 2007

Could not load file or assembly 'Oracle.DataAccess, Version=2.102.2.20, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies.

I am moving an ASP.NET 2.0 application to another environment. On the new server I get the following error on my Web page:

Could not load file or assembly 'Oracle.DataAccess, Version=2.102.2.20, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

I notice the client is 10.1 on the server so I install 10.2:
Oracle Database 10g Client Release 2 (10.2.0.1.0)
Selected 'Administration' in the installation to get all of the BIN files.

NOTE: ORACLE_HOME Environment Variable is no longer used.



I install ODAC on the server:
Oracle10g Release 2 ODAC 10.2.0.2.21

I did not realize that a different 10.2 client was installed on my local:

Local
Oracle Data Provider for .NET 10.2.0.2.20 Production
The Oracle.DataAccess.dll is pathed to: D:\oracle\product\10.2.0\client_1\odp.net\bin\2.x
Web.config:


Server
Oracle Data Provider for .NET 10.2.0.1.0
The Oracle.DataAccess.dll is pathed to: D:\oracle\product\10.2.0\client_1\BIN

So, I'm thinking that if I just modify the Web.config, it will work:


I get this error: "The provider is not compatible with the version of Oracle client"

I copy the Oracle.DataAccess.dll from local to the BIN directory of the ASP.NET application, and then over to the server. Modifying the Web.config does not resolve the issue.

Solution


After spending more time wrestling with a connection, I find out that our DBA's have a copy of the older ODAC (which I can't find on the Oracle site).

Now I get another error:
"Unable to load DLL 'OraOps10w.dll': The specified procedure could not be found. (Exception from HRESULT: 0x8007007F)"

I added the ASPNET account to the BIN folder security settings and propigated the permissions, but still received the error. The magic bullet was - RE-BOOT! It works!

In searching the forums I found someone of "like mind":
"We should not have to install anything on the server, especially not 400+ MB of oracle client tools just to connect to and query a database."

Wednesday, October 17, 2007

Working with Oracle and ASP.NET 2.0

The Oracle Client with Enterprise Manager for remote administration
http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201winsoft.html has the Oracle 10g Client. Choose ‘Administrator’ during installation to include the client and Enterprise Manager.

Oracle Express Database for local development / testing
Local installation should be the Oracle Express version for free at: http://www.oracle.com/technology/software/products/database/xe/index.html

Oracle SQL Developer for database design
http://www.oracle.com/technology/products/database/sql_developer/index.html

Monday, October 15, 2007

Understanding Humility

The following is a true story of my walk with the Lord...

It was the morning of Tuesday, April 24th 2007 that Tom had to fly out of the RDU airport and head to New York for a conference. He had spent the weeks before, struggling with the presentations he had to co-present and he knew he wasn’t prepared. But he worked well under pressure in the past and was confident in his natural, God given abilities to pull him through difficult situations.

The morning started in the shower with a prayer offered up to the Father. Tom had a real desire to understand every good thing he had in Jesus Christ, and so he focused on a particular verse he had come across. Philemon 1:6 - I pray that you may be active in sharing your faith, so that you will have a full understanding of every good thing we have in Christ. Tom had taken ownership of this verse and knew that today would be a great day of wonderful opportunities that the Lord had prepared in advance for him to share his faith.

He had to meet with his co-workers later in the day, so he dressed himself in a collard shirt and slacks. The ride to the airport seemed long as there was little conversation between Tom and his wife Monica. He thought about an interesting experience that occurred a few weeks earlier. As he surrendered his life to God, his heart literally felt like it was wrapped with a heating pad that was turned on high. The flame was no longer constant now, but instead would start burning whenever he prayed or read Scripture. Today was a new day, and as each day passed he wondered if yesterday was the last day of this unique experience.

Tom had put two paperback Bibles in his carry-on for the plane. As he looked out at the beautiful morning, he thought about the opportunity God would provide for him to share his faith. He thought, “Who will it be? Will it be the person that sits next to me on the plane? Oh, what a wonderful opportunity to sit next to a stranger for an hour and a half, with little to do but talk about Life.”

“Is something wrong?” Monica asked.

Tom snapped out of his silence, “No, nothing is wrong” he said, feeling that the only thing that was wrong was his unwillingness to share everything that was going on in his mind. There were so many thoughts and words seemed too cumbersome to speak at this hour of the morning.

As the car pulled up to the terminal, the fire in Tom’s heart started to grow. As he opened the door he contemplated telling his wife. After all, what did it mean? Then again, what did it matter?

“I feel it again. My heart feels like it’s on fire.” He explained to Monica. She didn’t know how to respond which made the moment awkward. Nobody understood what Tom was experiencing, not even his wife. In fact, Tom himself had no explanation for this intense and sometimes painful fire in the physical location of his heart. He had grasped at various verses in Scripture for an explanation, but nothing was definitive. Throwing off the frustration, he kissed Monica and grabbed his suitcase along with his carry-on with the Bibles, and headed into the airport.

The airport became a blur until he had to take off his shoes for the metal detector. He thought that airport security could snap anyone out of sleepwalking their way to a flight. As he put his shoes back on, Tom attempted to start a conversation with the man behind him. Jesus had once said, “Come, follow Me, and I will make you fishers of men.” and so the line was cast out but this man did not bite.

With over an hour before boarding, Tom walked along the smooth path towards the boarding gate. Up ahead to the left and against the wall, was a very unusual site. There was a man sitting high on a throne as if he were a king, and another man at his feet. And as Tom approached this scene, he realized that this man on the throne really was a king in his own mind. He had conquered the world and was now able to be served by a very old man who labored intently on shining his shoes.

Tom sat down in a chair across from this scene and watched. It really was a horror shock for our culture in this day and age to see such a sight. The old man was dark-skinned, African American and the wealthy man, who now watched people as they walked by, was European. Tom noticed the people who were walking down the path he had just come from, and as they caught the scene – not a single one could gaze upon it for more than a few seconds.

Their heads turned to the floor and their eyes focused only a few feet in front of them. It was a scene that cried out “tragedy”, “racism”, and “humility”. How could this older black man be shining shoes at his age? How could this wealthy white man sit there and not feel the glare of the black business woman who passed by? How could the older black man humble himself to such a low position in life?

Tom looked down at his shoes and knew that he needed his shoes shined for the conference, but he would have never been able to sit on that throne with any sense of dignity. He would have rather had his co-workers laugh at the condition of his shoes, than to become a part of that awkward scene. Then the Holy Spirit reminded him of John 13:3-17 which he had read 10 years earlier and had since ‘forgot’:

“Jesus knew that the Father had put all things under his power, and that he had come from God and was returning to God; so he got up from the meal, took off his outer clothing, and wrapped a towel around his waist. After that, he poured water into a basin and began to wash his disciples' feet, drying them with the towel that was wrapped around him.

He came to Simon Peter, who said to him, "Lord, are you going to wash my feet?"

Jesus replied, "You do not realize now what I am doing, but later you will understand."

"No," said Peter, "you shall never wash my feet."

Jesus answered, "Unless I wash you, you have no part with me."

"Then, Lord," Simon Peter replied, "not just my feet but my hands and my head as well!"

Jesus answered, "A person who has had a bath needs only to wash his feet; his whole body is clean. And you are clean, though not every one of you." For he knew who was going to betray him, and that was why he said not every one was clean. When he had finished washing their feet, he put on his clothes and returned to his place. "Do you understand what I have done for you?" he asked them. "You call me 'Teacher' and 'Lord,' and rightly so, for that is what I am. Now that I, your Lord and Teacher, have washed your feet, you also should wash one another's feet. I have set you an example that you should do as I have done for you. I tell you the truth, no servant is greater than his master, nor is a messenger greater than the one who sent him. Now that you know these things, you will be blessed if you do them.”

There was so much that Tom had been learning by living the Word, and Tom knew that today was the day to fully understand humility. He welcomed the opportunity with open arms as he began to pray in fullness of his faith: “Father, I am open to do your will. Please allow me the opportunity to shine the shoes of the older black man. Oh, what a wonderful testimony I will have if you would just allow me the opportunity to shine his shoes!”

By this point, the burning sensation in the heart was no longer noticeable. The whole scene was amplified and every move calculated as Tom began to live out what God had prepared in advance.

Another man in a suit had walked up and stood waiting to get his shoes shined. At first, Tom felt a bit of panic! Why did God place this man in front of Tom? The panic vanished as Tom put his trust in God, knowing that He was in complete control of what was about to happen. Tom got up from his chair and walked up behind the new customer in the business suit.

Just then, a younger black in his mid twenties approached and motioned to the man in the business suit to sit in the second chair. The younger black man began shinning the shoes of the man in the business suit, leaving Tom next in line for the older black man.

The wealthy king stepped down from the throne and completed his transaction with the older black man, who then approached Tom and helped him up into the lofty seat. The older shoe shiner grabbed two metal foot rests and after locking them in place, moved Tom’s feet to rest upon them. The older black man turned to the younger and said, “You know that man has a 1.6 million dollar home?”

A few moments passed and Tom’s thoughts raced as he sat there asking God…what do I say? He turned to the man in the suit sitting next to him and began a conversation regarding the typical things of the world and business. When the conversation quickly became stale, Tom directed his conversation downward to the man who was working on his shoes and asked, “So, how long have you been doing this?”

The old man looked up and responded, “All of my life. Before you were born I started shining shoes to make a quarter.”

Directing the conversation to the younger man, Tom asked, “And you?”

The younger man paused for a moment and then said, “It’s been about five years now.”

“Wow!” Tom exclaimed, “You must really enjoy what you do!”

The older man started talking about how he had a good business with the YMCA in the past. He said that people would drop off their shoes to be shined and then pick them up later. And then the older man looked down at his shoes and paused. Tom looked down too and realized that the man was wearing dress shoes. When Tom offered up his prayer just a short time earlier, he was too far away to really see what kind of shoes the older black man was wearing.

Time wound down to slow motion as the older black man said, “I really need to shine my own shoes today.” The door had opened wide and the path was clear and full of light. Knowing what was about to take place, Tom began to diligently study the process of shoe shining. There was no excitement in Tom, but instead a complete intense focus on the work that needed to be done.

While Tom was studying the shoe shining process, the man in the suit spoke up and addressed the older black man, “What is your name?”

“January”, replied the older black man.

Tom then asked the younger black man his name and he replied, “William”.

The man in the suit questioned January, “That’s an interesting name. How did you get it?”

January explained that his grandfather was wealthy and owned many acres of land. His grandfather told his mother that if she didn’t name him “January”, she would not get an inheritance. So, she named him “January”. When his grandfather passed away, his mother was only given a single acre.

“Did you receive the acre as an inheritance?” asked the man in the business suit.

“No.” replied January, and they all laughed.

A few minutes passed and January completed the shoe shine, pulling Tom down from the chair. They approached the cash register together and Tom asked, “How much do I owe you?”

January replied, “Six dollars.”

Tom looked January straight in the eyes and said, “I would like to pay for my shoe shine, and I would like to pay for the shoe shine of my friend.”

January smiled and said, “Oh, you would like to buy this guy a shoe shine?” pointing to the man in the business suit.

Tom exclaimed, “No, I want to pay for your shoe shine and I want to be the one who shines your shoes!”

January nodded in agreement as Tom paid for both shoe shines, along with a tip. The man in the business suit said, “I really want to see this, but I have to go!”

The man in the business suit got down and paid, while Tom helped January up to his throne. Another man in a shirt and tie showed up and William helped him up to the throne next to January.

Tom started scrubbing January’s shoes with saddle soap. William addressed Tom blurting out, “Are you a Christian?”

Tom exclaimed, “Yeah, why do you think I’m doing this?”

William exclaimed, “We are too!”

Then January chimed in, “You know that Jesus washed the feet of his disciples?”

Tom replied, “Shining shoes is the closest thing I could think of, next to washing feet.”

Tom glanced up at the man in the shirt and tie, noticing he was listening to this conversation and looked really lost. Tom looked down at January’s shoes and said, “You know your shoes remind me of my heart a few months ago. It was all scuffed up and then Jesus came along and polished it up!”

William pondered, “What caused that to happen? Was it something like Jonah and the whale?”

January joined in, “Or was it like Saul on the road to Damascus with a bright light?”

Tom answered, “Neither, I just heard The Word and repented. That’s all it took”

After some more conversation, Tom helped January down from the throne. January reached into is pocket and counted out six dollars, passing the money to Tom. They laughed together at the silliness of the money exchange.

Tom reached into his carry-on and grabbed a paperback Bible, thrusting it into the hands of the man with the shirt and tie who still looked lost. “Do you have one of these?” Tom asked with boldness.

“Uh, yeah. I have one at home”, the man responded.

“Well now you have one wherever you go!” exclaimed Tom.

“But I don’t want this where I’m going.” the man replied as he attempted to hand the Bible back to Tom.

Tom refused to take back the Bible and instead said, “You keep that.”

Tom walked off, and did not look back. He went and grabbed some food and sat down in a seat near his boarding gate. A few minutes passed when the man in the shirt and tie sat down a few rows across from Tom, but did not see Tom sitting there. The man put on his reading glasses, opened up the Bible, and began to read.

Tom really wanted to go back to January and William and pray with them, but the plane was about to board. Instead, he got up and walked around behind the man with the shirt and tie to see what he was reading. Tom glanced down and saw that the man was reading “Zachariah”, which Tom thought to be unusual.

Just then William came rushing up and said to Tom, “I want you to know that you just made my day! God has some big plans in store for you.”

Tom grabbed William and gave him a big hug, then responded, “Look, he is reading the Bible!” pointing to the man in the suit, “Will you pray with me?”

“What?” William questioned.

“Will you pray with me?!” Tom exclaimed.

William nodded and they both bowed their head together in the middle of the airport walkway. Tom offered up a pray for the man reading the Bible, as well as for William and his family. William also prayed for Tom.

As Tom was boarding the plane, he looked back at William who began shining the shoes of a new customer. They both smiled at each other as Tom boarded the plane for New York.

WWJD - What Would Jesus Do?

Some have been taught that when they are in a situation that requires a decision to be made, they should ask themselves - What would Jesus do?

This question reminds me of Deuteronomy 15:11

"These people come near to me with their mouth and honor me with their lips, but their hearts are far from me. Their worship of me is made up only of rules taught by men."

If you have to ask "What would Jesus do?", then you lack faith. Rationalizing the correct decision with your mind, circumvents the reality of a living God. If you answer the question yourself, then it is you who are Lord of your life. The proper question to ask is "Lord, what shall I do?".

James 1:6-8
If any of you lacks wisdom, he should ask God, who gives generously to all without finding fault, and it will be given to him. But when he asks, he must believe and not doubt, because he who doubts is like a wave of the sea, blown and tossed by the wind. That man should not think he will receive anything from the Lord; he is a double-minded man, unstable in all he does.

Do you want to know what Jesus would do? He would ask the Father and submit to His will. He would believe and not doubt.

Jesus gave up his life, not only for the forgiveness of sins...but to send the Counselor:

John 16:7-15
But I tell you the truth: It is for your good that I am going away. Unless I go away, the Counselor will not come to you; but if I go, I will send him to you. When he comes, he will convict the world of guilt in regard to sin and righteousness and judgment: in regard to sin, because men do not believe in me; in regard to righteousness, because I am going to the Father, where you can see me no longer; and in regard to judgment, because the prince of this world now stands condemned. "I have much more to say to you, more than you can now bear. But when he, the Spirit of truth, comes, he will guide you into all truth. He will not speak on his own; he will speak only what he hears, and he will tell you what is yet to come. He will bring glory to me by taking from what is mine and making it known to you. All that belongs to the Father is mine. That is why I said the Spirit will take from what is mine and make it known to you.

If you want to know what Jesus would do, ask Him and expect to receive an answer. And when you receive it, do not doubt or become double-minded. Give up your mind and put on the mind of Christ. And don't be amazed by the events of low probability that result, but be thankful that your name is written in the book of life.

Friday, October 12, 2007

Oracle SQL and C# Dates

If you are working with Oracle and C#, you may need to insert a Date into the database. The way this is done, is to specifiy a date format and then let Oracle know what the format is by using the "to_date" function. One of the problems is that C# and Oracle specifiy date formats differently.

Here is one example:
strFromDate = myFromDate.ToString("MM/dd/yyyy hh:mm:ss tt");
strToDate = myToDate.ToString("MM/dd/yyyy hh:mm:ss tt");

_sqlQuery += "AND DATE_COMPLETED >= to_date('" + strFromDate + "', 'MM/DD/YYYY HH:MI:SS PM') ";
_sqlQuery += "AND DATE_COMPLETED <= to_date('" + strToDate + "', 'MM/DD/YYYY HH:MI:SS PM') ";

Wednesday, October 10, 2007

C# Back Button - Server Side (Not Javascript)


protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ViewState["originalUrl"] = Request.UrlReferrer.AbsoluteUri;
}
}

protected void btnBack_Click(object sender, EventArgs e)
{
Response.Redirect(ViewState["originalUrl"].ToString(), false);
}

Check This Out!

More Links to Good Information