Thursday, December 20, 2012

How to write efficient database JOINs


How to write efficient database JOINs
Last updated March 27, 2009. Created by moshe weitzman on June 21, 2003.
Edited by bekasugkallenbergpureginStevenLog in to edit this page.
This page is based on an e-mail posted by Craig Courtney on 6/21/2003 to the drupal-devel mailing list.
There are 3 kinds of joins: INNER, LEFT OUTER, and RIGHT OUTER. Each requires an ON clause to let the RDBMS know what fields to use when joining the tables. For each join there are two tables: the LEFT table and the RIGHT table. The syntax is as follows:
{left table} (INNER | LEFT OUTER | RIGHT OUTER) JOIN {right table} ON (join criteria)
An INNER JOIN returns only those rows from the LEFT table having a matching row in the RIGHT table based on the join criteria.
A LEFT OUTER JOIN returns all rows from the LEFT table even if no matching rows where found in the RIGHT table. Any values selected out of the RIGHT table will be NULL for those rows where no matching row is found in the RIGHT table.
A RIGHT OUTER JOIN works exactly the same as a LEFT OUTER JOIN but reversing the direction. So it would return all rows in the RIGHT table regardless of matching rows in the LEFT table.
It is recommended that you not use RIGHT OUTER JOIN since a query can always be rewritten to use LEFT OUTER JOIN which tends to be more portable and easier to read.
If there are multiple rows in one table that match one row in the other table, the join will return that same row many times.
For example:
Table A
tid, name
1, 'Linux'
2, 'Debian'
Table B
fid, tid, message
1, 1, 'Very Cool'
2, 1, 'What an example'
Query 1: SELECT a.name, b.message FROM a INNER JOIN b ON a.tid = b.tid
Result 1:
Linux, Very Cool
Linux, What an example
Query 2: SELECT a.name, b.message FROM a LEFT JOIN b ON a.tid = b.tid
Result 2:
Linux, Very Cool
Linux, What an example
Debian, NULL
Visual Examples
codinghorror.com example

Hope that helps in reading some of the queries.

Monday, December 03, 2012

SQL Data Cache

http://msdn.microsoft.com/en-us/library/ms178604(v=vs.100).aspx Very good stuff. Cache data, but poll SQL Server for changes. Read the article above. http://www.codeproject.com/Articles/144344/Query-Notification-using-SqlDependency-and-SqlCach Service Broker issue http://msdn.microsoft.com/en-us/library/ms188798.aspx

Tuesday, November 20, 2012

SortedDictionary Powerful tool

Dim CheckSecurity As ctrl_secure = ctrl_secure Dim bValue As Boolean Dim dic As SortedDictionary(Of String, Int32) = CType(Session("UserAuthorizations"), SortedDictionary(Of String, Int32)) If ((dic.ContainsKey("A")) And (dic.Item("A") > 1)) Or ((dic.ContainsKey("B")) And (dic.Item("B") > 1)) Then bValue = True End If

Thursday, November 15, 2012

Here are five questions great candidates ask:

Here are five questions great candidates ask:

What do you expect me to accomplish in the first 60 to 90 days?

Great candidates want to hit the ground running. They don't want to spend weeks or months "getting to know the organization."

They want to make a difference--right away.


What are the common attributes of your top performers?

Great candidates also want to be great long-term employees. Every organization is different, and so are the key qualities of top performers in those organizations.


Maybe your top performers work longer hours. Maybe creativity is more important than methodology. Maybe constantly landing new customers in new markets is more important than building long-term customer relationships. Maybe it's a willingness to spend the same amount of time educating an entry-level customer as helping an enthusiast who wants high-end equipment.


Great candidates want to know, because 1) they want to know if they fit, and 2) if they do fit, they want to be a top performer.


What are a few things that really drive results for the company?


Employees are investments, and every employee should generate a positive return on his or her salary. (Otherwise why are they on the payroll?)


In every job some activities make a bigger difference than others. You need your HR folks to fill job openings... but what you really want is for HR to find the rightcandidates because that results in higher retention rates, lower training costs, and better overall productivity.


You need your service techs to perform effective repairs... but what you really want is for those techs to identify ways to solve problems and provide other benefits--in short, to generate additional sales.


Great candidates want to know what truly makes a difference. They know helping the company succeed means they succeed as well.


What do employees do in their spare time?


Happy employees 1) like what they do and 2) like the people they work with.


Granted this is a tough question to answer. Unless the company is really small, all any interviewer can do is speak in generalities.


What's important is that the candidate wants to make sure they have a reasonable chance of fitting in--because great job candidates usually have options.


How do you plan to deal with...?


Every business faces a major challenge: technological changes, competitors entering the market, shifting economic trends... there's rarely a Warren Buffett moat protecting a small business.


So while a candidate may see your company as a stepping-stone, they still hope for growth and advancement... and if they do eventually leave, they want it to be on their terms and not because you were forced out of business.


Say I'm interviewing for a position at your bike shop. Another shop is opening less than a mile away: How do you plan to deal with the new competitor? Or you run a poultry farm (a huge industry in my area): What will you do to deal with rising feed costs?A great candidate doesn't just want to know what you think; they want to know what you plan to do--and how they will fit into those plans.

Monday, November 12, 2012

XML Transformation on MSBuild TFS 2010

Many thanks to http://kjdaly.com/Blog/Details/5 Blog ----


<Target Name="BeforeBuild">
</Target>
<!--<Target Name="AfterBuild">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)" />
</Target>
-->    <Target Name="AfterBuild" Condition="$(IsAutoBuild)=='True'">
     <ItemGroup>
     <DeleteAfterBuild Include="$(WebProjectOutputDir)\Web.*.config" />
    </ItemGroup>
    <TransformXml Source="Web.config" Transform="$(ProjectConfigTransformFileName)" Destination="$(WebProjectOutputDir)\Web.config"/>
   <Delete Files="@(DeleteAfterBuild)" />
  </Target>
</Project>

Assuming you have saved and checked in your project file and are in the process of creating a build definition, on the Process step of your build definition you will find under the Advanced heading a field labeled “MSBuild Arguments”. Enter the value /p:IsAutoBuild=”True”.

Simple GOTCHA, be sure to check in the PROJECT File back to Source Control before testing (DUH!)

Tuesday, October 09, 2012

SQL Connection and Command Example

Private Function IsClientAdmitted(ClientID As Integer) As BooleanDim conn As SqlConnectionDim cmd As New SqlCommandDim passOrFail As StringpassOrFail = Falseconn = New SqlConnection(ConfigurationManager.ConnectionStrings("conn_string").ConnectionString())
Trycmd.CommandText = "csp_validate_progress_notes_entry"cmd.CommandType = CommandType.StoredProcedurecmd.Connection = conn
cmd.Parameters.Add(
"@ClientID", SqlDbType.Int).Value = ClientIDcmd.Connection.Open()
passOrFail = cmd.ExecuteScalar()

Return passOrFail
Catch ex As ExceptionRaiseEvent StatusMessageChanged(New StatusMessageEventArgs("Error Connecting to Database", StatusMessageEventArgs.StatusMessageType.ErrorMsg))
Return passOrFail
FinallyIf Not conn Is Nothing Thenconn.Close()End IfEnd TryEnd Function

Friday, September 28, 2012

10. Ctrl+Alt+plus sign (+)—Dealing with capturing screen images from a Remote Desktop session can be a mystery. If you press Print Screen, you get an image of your local desktop—not the remote desktop. Pressing the Ctrl+Alt+plus sign (+) keyboard shortcut captures a snapshot of the entire client window area of Remote Desktop and is the same as pressing Print Screen on your local desktop.
9. Ctrl+Alt+minus sign (-)—Sometimes you don't want an image of the entire desktop; sometimes you want just a selected window. Pressing the Ctrl+Alt+minus sign (-) keyboard shortcut captures a snapshot of just the active window within the remote desktop session. This key combination is the same as pressing Alt+Print Screen on your local desktop.
8. Alt+Home—Pressing the Alt+Home keyboard combination with Remote Desktop displays the Start menu on the remote system. The Start menu gives you quick access to the different programs installed on the remote system. This key combination is the same as pressing the Windows key on your local desktop.
7. Alt+Delete—Pressing the Alt+Delete keyboard combination in the Remote Desktop session opens the Windows menu of an application running on the remote system. The Windows menu is typically displayed under the icon in the extreme upper left corner of most Windows applications, and it lets you move and resize the application.
6. Ctrl+Alt+Break—Sometimes you might want the Remote Desktop window to be displayed in full-screen mode just as if you were using your local desktop. If you want to toggle the Remote Desktop session between a window and a full-screen display, you can press the Ctrl+Alt+Break keyboard combination.
5. Ctrl+Alt+Pause—Like the previous item, the Ctrl+Alt+Pause keyboard combination switches between full screen and windowed mode. However, with this keyboard shortcut, the remote desktop window remains at its standard size and doesn't fill the entire local desktop. Instead, it's displayed on a black background.
4. Alt+Insert—Sometimes you want a quick way to switch between the different programs that you have running. Pressing the Alt+Insert keyboard combination lets you cycle through the programs on the remote system in the order that they were opened. This process is the same as using Alt+Tab on your local desktop.
3. Alt+Page Down—Another way to cycle through the running programs on your Remote Desktop session is to use the Alt+Page Down keyboard shortcut. Pressing this key combination lets you switch between programs on the remote desktop session, moving from right to left in the Windows task switcher. This is the same as Alt+Shift+Tab on your standard desktop.
2. Alt+Page Up—Pressing Alt+Page Up lets you switch between programs on the Remote Desktop session, moving from left to right in the Windows task switcher. This is the same as Alt+Tab on your standard desktop.
1. Ctrl+Alt+End—One of the most common yet hard-to-find things that you'll need to do in a Remote Desktop session is to send a Ctrl+Alt+Del signal to the remote system. Press Ctrl+Alt+End if you need to send a Ctrl+Alt+Del keystroke combination to the remote system. This keystroke opens the Microsoft Windows Security dialog box, which lets you lock the computer, log off, change your password, and start Task Manager.

Monday, June 18, 2012

SharePoint 2010 User Profile Synchronization

Know the difference between FQDN and NETBIOS, before configuring SharePoint 2010 User Profile application be sure to know which one you need to use before setting up the Profile Application, because once setup you will have to delete the current application and perform a brand new full import.

http://blogs.msdn.com/b/russmax/archive/2010/03/20/sharepoint-2010-provisioning-user-profile-synchronization.aspx

Wednesday, September 14, 2011

SharePoint 2010 Day at Microsoft Campus in Charlotte

Getting questions answered and great overview of SharePoint 2010 for the current MOSS 2007 to SharePoint 2010 project I am currently working on in my current contract.

Friday, September 02, 2011

SharePoint 2007 & 2010 Index and Search sizes

If you need to review sizing of current implementation of SharePoint Index and Search
Go to > Central admin > Operations > Services on Server > Office SharePoint Server Search Service Settings
Copy the Default index file location : Run paste
Select and review properties that will provide the size of index
Next for Search simply navigate on SQL Server and right click on Search DB and review properties.
 

Wednesday, August 31, 2011

MOSS 2007 on Windows Server 2008 R2

I ran into a solution for getting Central Admin to display on Windows Server 2008 R2 today.   Basically you have to open IIS 7.0 and ensure that the Physical Path is correct.  For some reason the install had an incorrect physical path.   I fixed it and everything worked.

Next was installing MOSS 2007 SP2 slip stream on the rest of the farm.   Ensure you open the port that Central Admin is installed on or you will not be able to access.   LESSONS LEARNED FROM MOOJJOO

Saturday, March 26, 2011

Setup new URL

dotnet.mmwebs.com going to see if I can access blogger from work.

Friday, November 19, 2010

Add JavaScript to handle two scripts in ASP.NET

protected void ApplyJavaScriptForPostToIris()


{

System.Text.StringBuilder sbValid = new System.Text.StringBuilder();

sbValid.Append("if (confirm('Are you sure you want to post this file to app') == true){");

sbValid.Append("this.disabled = true;");



sbValid.Append("} else { return false;}");

sbValid.Append(this.ClientScript.GetPostBackEventReference(this.btnPostToIRIS, "") + ";");



this.btnPostToIRIS.Attributes.Add("onclick", sbValid.ToString());

}

Tuesday, November 09, 2010

Looping through SQL Server ... This has to be saved. To many hours spent.

I know I will have to do this again....

This article describes various methods that you can use to simulate a cursor-like FETCH-NEXT logic in a stored procedure, trigger, or Transact-SQL batch.


Use Transact-SQL Statements to Iterate Through a Result Set

There are three methods you can use to iterate through a result set by using Transact-SQL statements.



One method is the use of temp tables. With this method, you create a "snapshot" of the initial SELECT statement and use it as a basis for "cursoring." For example:

/********** example 1 **********/



declare @au_id char( 11 )



set rowcount 0

select * into #mytemp from authors



set rowcount 1



select @au_id = au_id from #mytemp



while @@rowcount <> 0

begin

set rowcount 0

select * from #mytemp where au_id = @au_id

delete #mytemp where au_id = @au_id



set rowcount 1

select @au_id = au_id from #mytemp

end

set rowcount 0







A second method is to use the min function to "walk" a table one row at a time. This method catches new rows that were added after the stored procedure begins execution, provided that the new row has a unique identifier greater than the current row that is being processed in the query. For example:

/********** example 2 **********/



declare @au_id char( 11 )



select @au_id = min( au_id ) from authors



while @au_id is not null

begin

select * from authors where au_id = @au_id

select @au_id = min( au_id ) from authors where au_id > @au_id

end





NOTE: Both example 1 and 2 assume that a unique identifier exists for each row in the source table. In some cases, no unique identifier may exist. If that is the case, you can modify the temp table method to use a newly created key column. For example:

/********** example 3 **********/



set rowcount 0

select NULL mykey, * into #mytemp from authors



set rowcount 1

update #mytemp set mykey = 1



while @@rowcount > 0

begin

set rowcount 0

select * from #mytemp where mykey = 1

delete #mytemp where mykey = 1

set rowcount 1

update #mytemp set mykey = 1

end

set rowcount 0











-- ================================================


-- Template generated from Template Explorer using:

-- Create Procedure (New Menu).SQL

--

-- Use the Specify Values for Template Parameters

-- command (Ctrl-Shift-M) to fill in the parameter

-- values below.

--

-- This block of comments will not be included in

-- the definition of the procedure.

-- ================================================

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

-- =============================================

-- Author: Robert Dannelly

-- Create date: 11/09/2010

-- Description: Resubmission Validation

-- =============================================

CREATE PROCEDURE ResubmissionValidation

-- Add the parameters for the stored procedure here

@ImportID int

AS

BEGIN

-- SET NOCOUNT ON added to prevent extra result sets from

-- interfering with SELECT statements.

SET NOCOUNT ON;



-- Insert statements for procedure here

DECLARE @ResubmissionTest TABLE

(

[ImportMetricID] [int] NULL,

[ImportID] [int] NULL,

[MetricInstanceID] [int] NULL,

[MetricValue] [varchar](100) NULL,

[NDTR] [varchar](20) NULL,

[MetricValueDate] [datetime] NULL,

[Narrative] [varchar](300) NULL,

[Resubmission] [varchar](50) NULL,

[ImportMetricStatus] [varchar](50) NULL,

[ImportFailureMsg] [varchar](200) NULL,

[CurrentMetricValue] [varchar](50) NULL

)



INSERT INTO @ResubmissionTest (ImportMetricID, ImportID, MetricInstanceID, MetricValue, NDTR, MetricValueDate, Narrative,

Resubmission, ImportMetricStatus, ImportFailureMsg, CurrentMetricValue)

SELECT ImportMetricID, ImportID, MetricInstanceID, MetricValue, NDTR, MetricValueDate, Narrative,

Resubmission, ImportMetricStatus, ImportFailureMsg, CurrentMetricValue FROM tblImportMetric WHERE ImportID = @ImportID --Need to change to Variable



-- This is used for Testing RBD

--SELECT * FROM @ResubmissionTest





DECLARE @ImportMetric_ID char(11), @Resubmission varchar(10)



SELECT @ImportMetric_ID = min(ImportMetricID) FROM @ResubmissionTest





--Begin LOOP

WHILE @ImportMetric_ID is not null

BEGIN

DECLARE @MetricInstanceID int,

@MetricValueDate DateTime



SELECT @MetricInstanceID MetricInstanceID FROM @ResubmissionTest WHERE ImportMetricID = @ImportMetric_ID



SELECT @MetricValueDate MetricValueDate FROM @ResubmissionTest WHERE ImportMetricID = @ImportMetric_ID

-- Be sure to change the values to @MetricInstanceID AND @MetricValueDate

EXECUTE ImportCheckResubmission @MetricInstanceID, @MetricValueDate, @Resubmission OUTPUT



IF @Resubmission = 'Yes'

BEGIN

UPDATE @ResubmissionTest

SET ImportFailureMsg = 'There is an existing value for this metric and interval. Please indicate if it is a resubmission.'

WHERE ImportMetricID = @ImportMetric_ID





SELECT @ImportMetric_ID = min(ImportMetricID) FROM @ResubmissionTest WHERE ImportMetricID > @ImportMetric_ID

END

END



DELETE FROM tblImportMetric WHERE ImportID = @ImportID



INSERT INTO tblImportMetric (ImportID, MetricInstanceID, MetricValue, NDTR, MetricValueDate, Narrative,

Resubmission, ImportMetricStatus, ImportFailureMsg, CurrentMetricValue)

SELECT ImportID, MetricInstanceID, MetricValue, NDTR, MetricValueDate, Narrative,

Resubmission, ImportMetricStatus, ImportFailureMsg, CurrentMetricValue FROM @ResubmissionTest WHERE ImportID = @ImportID --Need to change to Variable





--This is used for Testing

--SELECT * FROM tblImportMetric

END

GO

Thursday, November 04, 2010

Demystify SQL Debugging with with Visual Studio

Here is what I did to fix this issue "FINALLY"

http://www.asp.net/data-access/tutorials/debugging-stored-procedures-vb
#1 Connect using Windows Authentication as the same account on the local machine that must have sysadmin rights in the Instance of SQL Server.
#2 They use Server Explorer and connect with that same account and then once connect right click on the DB and check "Application Debuggin. I am posting this to my blog.
Great posts. By the way I feel the pain of remote individuals, my answer tell you management that if you want fast, rapid code to fork up the dough for SQL Developer Edition and do all you coding locally with a quality source control.



Robert.

Tuesday, October 19, 2010

Add Using for Controls or lookup very useful

In VS 2008, when the caret is on the name of the class which doesnt have a using statement in the file, SHIFT+ALT+F10 will bring up a context menu to add the using statement.

Reboot Remotely

When you work in distributed environment you probably use remote desktop session as you primary method of sql server machines administration. When critical windows updates are installed or when you install system or sql server service pack installation wizard promts you to restart the box in order to complete the installation. And it happens from time to time that this  machine hangs on reboot process for some reason and you can no longer connect it via remote desktop. If it was you local computer you could enter into your server room and press the reset button but if it stand thousands miles away from you it becomes a real problem.
How to restart or shutdown remote machine
If you can ping this machine from other computer and you have administrators rights on that machine you may use windows utility.
On a computer that has connection to the server which needs to be restarted or shutdown go to Start -> Run and type shutdown -i

This window will show up. Press Add and type either IP or DNS of remote server.
Select shutdown or restart and press OK. That 's it. For your convenience you may run from command line constanct ping  (ping servername -t) when the server actually stopped to respond to pings and when it started again.
Alternatively you can go to command prompt (start -> run -> cmd) on your workstation and Typeshutdown -r -m \\x.x.x.x
Replace x.x.x.x with the IP address or computer name of the remote machine. -r option is for restart, don't use -r if want to just shut down the system.  

Thursday, August 05, 2010

SharePoint Site Collection Administration

Lesson learned. If you are ever asked to maintain a SharePoint site the first thing to do is say, "Grant me Site Collection Admin Rights". Why? Because if you are testing security and you do not know who the Site Collection Admin are then if you remove security the individuals in that role will still have access. (Nice 2 hour lesson learned)

Thursday, June 17, 2010

AJAX Install

If you develop ASP.NET applications with AJAX here is a step by step guide so you do not bang your head.

1) Download the latest version from CodePlex for AJAX.
2) Extract to a location of your choice
3) Add the AjaxControlToolkit.dll & AjaxControlToolkit.pdb to you Web layer project /bin folder
4) Create a new Tab in your Toolbox and point to the new AjaxControlToolkit.dll
5) Create a reference to your AjaxControlToolkit.dll
6) Finally ensure the line in your Web.config is that same version as your dll assembly - (Simply right click the dll and look at the properties for assembly info.

Friday, April 16, 2010

Visual Studio 2010

Microsoft has released Microsoft Visual Studio 2010. I think it is time for me to upgrade to Windows 7 and start using there new tool set in order to keep up with the times.

SharePoint and SQL Sever Reporting Integration

Well, I must tell you that I had to reach out to Microsoft yesterday and use 1 of my support calls with my MSDN Subscriptions. I have been tasked with integrated SQL Server Reporting Services with MOSS 2007.

This will be the first implmentation at my company and I very excited to have a fantastic presentation for my upper managment.

A lot of work has been put into this and I plan to sell this great feature.

Thursday, April 01, 2010

New Trick Envrionment Variables

public static string SecurePath = Environment.GetEnvironmentVariable("SECURED_APP_PATH");

You can right click on your computer > Advanced Tab > set the variables. Warning they will not take effect till a reboot.

This would not worth using for a hosted appllication when you do not have access to the server.

Monday, March 08, 2010

Time to build the app

I am ready to build the app for retirement. 1 to 2 hours a day.

Define - 20 more hours
- Design DB (Completed)
- Design Workflow (Completed)
- Design UI(s) All screens (Completed)
- Design Objects (Completed)
Measure - 10 hours (2-6 Months, but will be done before I am 40 :-) )
Analyze - 40 hours (Done)
Improve (Build) - (In Process)
- Database Development (8 Hours Completed)
- Application (Web to start in Progress 2-6 months
* Web UI
* Business Layer
* Data Layer (Completed)
* Test Test Test fix fix fix test test test
* Demo to friends and family (Huge Milestone - break out Beer and Wine)

Control - Will know after Improve Phase)

Friday, February 19, 2010

Trace.axd

One thing I am going to remember is Trace with ASP.NET... It is so powerfull to watch Application, Session and ViewState.

<trace enabled="true" requestLimit="40" localOnly="false" />

Very important when troubleshooting:

http://msdn.microsoft.com/en-us/library/y13fw6we%28VS.71%29.aspx

Thursday, February 04, 2010

Kill Task in XP

c:\>taskkill /pid 3252 /F

Force kill aspnetwp.exe....

Than stop the IIS and then delete temporary files.

Monday, January 11, 2010

Ctrl-Alt-Del on remote desktop aka server

In order to send Ctrl-Alt-Del keystrokes to remote computer connected via Remote Desktop client, just press the following workaround keyboard shortcuts specially used in Remote Desktop environment:

Ctrl+Alt+End

Friday, October 30, 2009

Database Design and Audit

When developing ASP.NET application that use a APP Pool and identity to make all calls to the back end database in order to have a trigger based solution for auditing.

 

I would recommend all your tables have updatedDT and updateBY columns in all the tables you want to audit.

Tuesday, September 15, 2009

Leading a Development Team

New idea for a Development Team lead.

Depending on the scope of the technical requirements, it is the job of the team lead to review all documentation. PERIOD. From the technical specs the DEV LEAD develops the HLD/LLD specs, make estimates on the Business Analysis for each HLD/LLD.

Next, grant the developer the proper time to analyze the HLD/LLD requirements written by the tech lead. Tech Lead should read the HLD/LLD to ensure they are complete and time the review time and add 1 hour to allow developer the time needed to read the documentation and allow time the developer to ask questions to close gaps on missing requirements.

Once the business and the tech lead sort out these issues a developer should not code until all gaps are filled.

If you do, you will be doing rework on the project, thus costing time which as we all know == MONEY.

Wednesday, July 22, 2009

Team work

Team work is the key important part of any project along with communication. Always communicate and work hard and do your best.

Wednesday, April 29, 2009

Assignments

DUhG

If you see that something does not work in Visual Studio because it is not set as an assignment on a property.

 

Include the = symbol.

 

Example

 

li.select;

 

Will not work

 

li.select = true; //will.

 

 

Tuesday, March 31, 2009

Change My Documents

Ability to change the My Documents path is restricted.

This setting can restrict the ability to change the current path of My Documents folder.

Click here to run a free scan for registry errors

Description:
Every user on a computer has some files and folders of personal use. The my documents folder is the users personal folder where he normally saves all his documents, pictures, music and other personal files. If more than one user account is created on the computer, windows creates the my documents folder for each account. This setting disables the users ability to change the default location/path of the my documents folder. The user can invoke the my documents properties dialog by right-clicking the folder, but the access to change the folder location is denied. For this, go to start > run menu, enter regedit and navigate to the registry path listed below. You can create a dword value disablepersonaldirchange, if this value does not exist. Now, right-click and modify the value to 1 which can restrict change in folder path. However, if you want to enable the changes, delete the value name disablepersonaldirchange. The changes take effect after a restart or logoff.

Level: Recommended For Experts Only

Registry Entries

Click here to run a free scan for registry errors

·         Path: [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\]

·         Location: Current User

·         Value Name: DisablePersonalDirChange

·         Data Type: DWORD (DWORD Value)

·         Enabled Value: 1

·         Disabled Value: 0

·         Action Type: Add an Entry




Screenshots

Click here to run a free scan for registry errors

http://www.liutilities.com/products/registrybooster/tweaklibrary/tweaks/10105/regedit.png

First, click the Start button, and select Run. In the resulting dialog box, type "regedit"

http://www.liutilities.com/products/registrybooster/tweaklibrary/tweaks/10105/10105_1.png

Second, go to [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\] and create a DWORD value "DisablePersonalDirChange.

http://www.liutilities.com/products/registrybooster/tweaklibrary/tweaks/10105/10105_2.png

Third, right-click on "DisablePersonalDirChange" and select 'Modify'.

http://www.liutilities.com/products/registrybooster/tweaklibrary/tweaks/10105/10105_data.png

Finally, set the "Value Data" to 1in the textbox provided and click on 'OK' to enable

 

 

Monday, January 26, 2009

For Loop

for (initializer; condition; iterator) {
// code to execute while condition is true
}

Monday, January 12, 2009

Enable Remote Connections in SQL Express

Read the following article http://support.microsoft.com/default.aspx?scid=kb;EN-US;914277

 

To enable remote connections on the instance of SQL Server 2005 and to turn on the SQL Server Browser service, use the SQL Server 2005 Surface Area Configuration tool. The Surface Area Configuration tool is installed when you install SQL Server 2005.

http://support.microsoft.com/library/images/support/kbgraphics/public/en-us/uparrow.gifBack to the top

Enable remote connections for SQL Server 2005 Express or SQL Server 2005 Developer Edition

You must enable remote connections for each instance of SQL Server 2005 that you want to connect to from a remote computer. To do this, follow these steps:

1.     Click Start, point to Programs, point to Microsoft SQL Server 2005, point to Configuration Tools, and then click SQL Server Surface Area Configuration.

2.     On the SQL Server 2005 Surface Area Configuration page, click Surface Area Configuration for Services and Connections.

3.     On the Surface Area Configuration for Services and Connections page, expand Database Engine, click Remote Connections, click Local and remote connections, click the appropriate protocol to enable for your environment, and then click Apply.

Note Click OK when you receive the following message:

Changes to Connection Settings will not take effect until you restart the Database Engine service.

4.     On the Surface Area Configuration for Services and Connections page, expand Database Engine, click Service, click Stop, wait until the MSSQLSERVER service stops, and then click Start to restart the MSSQLSERVER service.

http://support.microsoft.com/library/images/support/kbgraphics/public/en-us/uparrow.gifBack to the top

Enable the SQL Server Browser service

If you are running SQL Server 2005 by using an instance name and you are not using a specific TCP/IP port number in your connection string, you must enable the SQL Server Browser service to allow for remote connections. For example, SQL Server 2005 Express is installed with a default instance name of Computer Name\SQLEXPRESS. You are only required to enable the SQL Server Browser service one time, regardless of how many instances of SQL Server 2005 you are running. To enable the SQL Server Browser service, follow these steps.

Important These steps may increase your security risk. These steps may also make your computer or your network more vulnerable to attack by malicious users or by malicious software such as viruses. We recommend the process that this article describes to enable programs to operate as they are designed to, or to implement specific program capabilities. Before you make these changes, we recommend that you evaluate the risks that are associated with implementing this process in your particular environment. If you choose to implement this process, take any appropriate additional steps to help protect your system. We recommend that you use this process only if you really require this process.

1.     Click Start, point to Programs, point to Microsoft SQL Server 2005, point to Configuration Tools, and then click SQL Server Surface Area Configuration.

2.     On the SQL Server 2005 Surface Area Configuration page, click Surface Area Configuration for Services and Connections.

3.     On the Surface Area Configuration for Services and Connections page, click SQL Server Browser, click Automatic for Startup type, and then click Apply.

Note When you click the Automatic option, the SQL Server Browser service starts automatically every time that you start Microsoft Windows.

4.     Click Start, and then click OK.

Note When you run the SQL Server Browser service on a computer, the computer displays the instance names and the connection information for each instance of SQL Server that is running on the computer. This risk can be reduced by not enabling the SQL Server Browser service and by connecting to the instance of SQL Server directly through an assigned TCP port. Connecting directly to an instance of SQL Server through a TCP port is beyond the scope of this article. For more information about the SQL Server Browser server and connecting to an instance of SQL Server, see the following topics in SQL Server Books Online:

  • SQL Server Browser Service
  • Connecting to the SQL Server Database Engine
  • Client Network Configuration

http://support.microsoft.com/library/images/support/kbgraphics/public/en-us/uparrow.gifBack to the top

Create exceptions in Windows Firewall

These steps apply to the version of Windows Firewall that is included in Windows XP Service Pack 2 (SP2) and in Windows Server 2003. If you are using a different firewall system, see your firewall documentation for more information.

If you are running a firewall on the computer that is running SQL Server 2005, external connections to SQL Server 2005 will be blocked unless SQL Server 2005 and the SQL Server Browser service can communicate through the firewall. You must create an exception for each instance of SQL Server 2005 that you want to accept remote connections and an exception for the SQL Server Browser service.

SQL Server 2005 uses an instance ID as part of the path when you install its program files. To create an exception for each instance of SQL Server, you must identify the correct instance ID. To obtain an instance ID, follow these steps:

1.     Click Start, point to Programs, point to Microsoft SQL Server 2005, point to Configuration Tools, and then click SQL Server Configuration Manager.

2.     In SQL Server Configuration Manager, click the SQL Server Browser service in the right pane, right-click the instance name in the main window, and then click Properties.

3.     On the SQL Server Browser Properties page, click the Advanced tab, locate the instance ID in the property list, and then click OK.

To open Windows Firewall, click Start, click Run, type firewall.cpl, and then click OK.

Create an exception for SQL Server 2005 in Windows Firewall

To create an exception for SQL Server 2005 in Windows Firewall, follow these steps:

1.     In Windows Firewall, click the Exceptions tab, and then click Add Program.

2.     In the Add a Program window, click Browse.

3.     Click the C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe executable program, click Open, and then click OK.

Note The path may be different depending on where SQL Server 2005 is installed. MSSQL.1 is a placeholder for the instance ID that you obtained in step 3 of the previous procedure.

4.     Repeat steps 1 through 3 for each instance of SQL Server 2005 that needs an exception.

Create an exception for the SQL Server Browser service in Windows Firewall

To create an exception for the SQL Server Browser service in Windows Firewall, follow these steps:

1.     In Windows Firewall, click the Exceptions tab, and then click Add Program.

2.     In the Add a Program window, click Browse.

3.     Click the C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe executable program, click Open, and then click OK.

Note The path may be different depending on where SQL Server 2005 is installed.

http://support.microsoft.com/library/images/support/kbgraphics/public/en-us/uparrow.gifBack to the top


APPLIES TO

  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Express Edition

 

 

 

Friday, January 02, 2009

Happy New Year

Happy New Year to all and I am looking forward to a happy, prosperous, healthy and knowledge filled year.  I wish everyone goodness and joy.  Remember to focus on your family and loved ones.

 

This year I will be looking to achieve a weekly blog post to reflect on the week.

 

Moojjoo

Sunday, December 21, 2008

12/21/2008 - Code thoughts

I have been wondering what a laptop is like with just ubuntu.  I am a .NET guy and I would have to convert to Apache, PHP, mySQL.  Which are all free.

 

__________________________________________

Robert B. Dannelly, Jr. MCTS

http://www.mmwebs.com/

http://moojjoo.blogspot.com/

 

Friday, December 19, 2008

Configure Firefox to work with localhost.

Here is the Solution for Other Users
Firefox - Enter username and password for "" at http://localhost - Solution
IIS uses Integrated Authentication and by default IE has the ability to use your windows user account...but don't worry, so does Firefox but you'll have to make a quick configuration change.

1) Open up Firefox and type in about:config as the url

2) In the Filter Type in ntlm

3) Double click "network.automatic-ntlm-auth.trusted-uris" and type in localhost and hit enter

4) Write Thank You To Blogger


As Always, Hope this helped you out.

Wednesday, December 10, 2008

Christmas is coming

Christmas is coming, SANTA, SANTA....

December post

Well, I must say life has been busy for November I got handed over 43 servers for a true dev to prod environment of SharePoint.