Thursday, November 29, 2007

SQL Reporting Notes

SQL Reporting Notes
 
I noticed an issue with SQL Reporting and the PDF formatting.  I was receiving a lot of extra pages between page breaks.  I realized that the grid margins had moved to be extremely wide which caused the problem.
 
If you have this problem be sure to check your margins.


If you are developing a 11" x 8.5" be sure that your grid is equal to your width minus the margin for left and right.

Example you have a report to be 11" wide with 1/2" margins this means your grid and I repeat cannot be wider than 10" or you will have blank pages and please be sure not to nudge it by accident.

Tuesday, November 27, 2007

SQL Reporting Services Expression

If you ever need to insert "data not available" or "n/a" use the following code.

=IIf(Fields!HoursAllocated.Value is nothing, "No Data Supplied", Fields!HoursAllocated.Value)

ASP.NET Account locked out please check before banging your head.

aspnet_wp.exe could not be started. The error code for the failure is 80004005. This error can be caused when the worker process account has insufficient rights to read the .NET Framework files. Please ensure that the .NET Framework is correctly installed and that the ACLs on the installation directory allow access to the configured account.

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

aspnet_wp.exe could not be launched because the username and/or password supplied in the processModel section of the config file are invalid.

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

 

Check the following:  Make sure the ASP.NET Machine Account is not locked out...  It will save you a lot of headaches.

Monday, November 26, 2007

%HOME%%HOMEPATH%

Have you ever needed to use RUNAS for testing security on your applications?
 
If so, and you have gotten a second account for testing and get weird errors such as not finding the application be sure to change the Start In to point to the actual executables location rather than the %HOME%%HOMEPATH%

Tuesday, November 13, 2007

Check empty array Trick

The old trick for checking for an empty array is

Dim X() As String

If (Not X) = -1 Then
Debug.Print "empty"
Else
Debug.Print "UBound is " & UBound(X)
End If

Wednesday, November 07, 2007

InfoPath and Web Services

Have you ever had this issue developing a Web service with InfoPath?

InfoPath cannot submit the form.
An error occurred while the form was being submitted.
The SOAP response indicates that an error occurred:

System.Web.Services.Protocols.SoapException: Server did not recognize the value of HTTP
Header SOAPAction:http://localhost <-- Questions Have you changed the URL here but it the change does not work on the Submit for the InfoPath form?

Well first things first. Every time you update the Web service you need to re-do the connection to the Web service inside of InfoPath. I discovered this after about 2 hours of trying to find out what I was doing wrong in my code VS.NET 2005 UGH!!!!

Hack away fellow gurus.





More to come on the solution I am working on. I am thinking about creating a White Paper and I will include all Blogs that have helped me with this solution.

Wednesday, October 10, 2007

Data Types

Data types defined for SQL Server http://msdn2.microsoft.com/en-us/library/aa258271(SQL.80).aspx

Difference between varable and fixed -

When you design your tables, it helps to understand the tradeoffs of using variable length columns versus fixed length columns. Variable length columns reduce database size because they take only what is required to store the actual value. Fixed length columns always take maximum space defined by the schema, even when the actual value is empty. The downside for variable length columns is that some operations are not as efficient as those on fixed length columns. For example, if a variable length column starts small and an UPDATE causes it to grow significantly, the record might have to be relocated. Additionally, frequent updates cause data pages to become more fragmented over time. Therefore, we recommend that you use fixed length columns when data lengths do not vary too much and when frequent updates are performed (Microsoft - http://technet.microsoft.com/en-us/library/ms172432.aspx.

Unicode vs. Non-Unicode - The primary difference between unicode and non-unicode data types is the ability of unicode to easily handle the storage of foreign language characters which also requires more storage space.

Tuesday, September 11, 2007

Backup and Restore on SQL Server

thanks to moonguy on MSDN he saved me many hours of work.

When you try to backup, SQL Server 2005 shows the default backup path i.e. c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\ . This directory default has SQL user rights. Go to Backup directory and check the user name. Its very big name and I have not checked how SQL server adds it in allowed users list. You can do 2 things:



1. Let the Server take backup on default directory and copy the file in your desired folder. I did that.

2. Give same kind of permissions to your desired folder as Backup directory has.



Hope it solves the issue.



Moonguy

Tuesday, August 14, 2007

Settings.Settings .NET C#

I just learned the newest feature for adding configuration to .NET application (Console, Windows Forms, Web forms, ets.)

Settings.Settings are created when you start your application. This allows you to build out Settings that scope either the application or user. But the big question was how do you access them in the code.

Simple.

Try this

Properties.Settins.Default.[Intellisense takes over and find your setting]

That easy.

Friday, July 13, 2007

InfoPath Designer Mode

Well, after all the research I found Tim Pash as you can see in the post below. It seems that in the Corporate Enviroment you have to request that you have the setting deployed to you by your Microsoft Office Deployment and Configuration team. So with that being said, if you do not see the designer feature in InfoPath send a request to you Information Technology Team.

Wednesday, July 11, 2007

InfoPath

Well,

I am now back contracting because of my love to CODE. I have a new venture at Bank of America using SharePoint, InfoPath, and Visual Basic for Applications (VBA). My first task is to figure out how to enable InfoPath to allow me to design?

I found a great resource from the Tim Pash: http://blogs.msdn.com/timpash/archive/2006/02/08/Prevent-Design-Mode-For-Users.aspx?CommentPosted=true#commentmessage

Thursday, June 21, 2007

Update from comparison of two SQL tables

UPDATE o
SET Amount=Price
FROM orders o JOIN items i ON (o.ItemNumber=i.ItemNumber)

UPDATE o SET EmpActive = 0 FROM ComplianceEmployee o
JOIN ComplianceEmployeeLoad i ON (o.EmpID = i.EmpID)

Sunday, May 20, 2007

GoDaddy.com System.Net.Mail Solution

Here is the C# version of the GoDaddy.com ASP.NET 2.0 Send Mail by Moojjoo http://www.mmwebs.com

Web.Config
<?xml version="1.0"?>

<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web>

<customErrors mode="Off"/>
<compilation debug="true"/> <!-- Be sure to change this to false when going to production -->

</system.web>
<system.net>

<mailSettings>
<smtp>

<network

host="relay-hosting.secureserver.net" />
</smtp>

</mailSettings>
</system.net>

</configuration>



.cs code behind for your .aspx page

protected void btnSubmit_Click(object sender, EventArgs e)
{

MailMessage myMail = new MailMessage();

myMail.From = new MailAddress("from@yourdomain.com");
myMail.Subject = "Contact Form";

MailAddressCollection myMailTo = new MailAddressCollection();
myMail.To.Add("to@domain.com");

StringBuilder sb = new StringBuilder();
sb.Append("Last Name: " + txtFirstName.Text + "<br>");

sb.Append("First Name: " + txtFirstName.Text + "<br>");
sb.Append("Address: " + txtAddress.Text + "<br>");

sb.Append("City: " + txtCity.Text + "<br>");
sb.Append("State: " + ddlState.SelectedValue + "<br>");

sb.Append("Zip: " + txtZip.Text + "<br>");
sb.Append("Email: " + txtEmail.Text + "<br>");

sb.Append("Questions/Comments: " + txtQandC.Text + "<br>");string strBody = sb.ToString();
myMail.Body = strBody;

myMail.IsBodyHtml = true;

SmtpClient smtp = new SmtpClient();
smtp.Credentials = CredentialCache.DefaultNetworkCredentials;

try

{

smtp.Send(myMail);

myMail = null;
}

catch (System.Exception ex)
{

Response.Write(ex.Message);

}

}

Moojjoo Õ¿Õ

http://www.mmwebs.com

http://www.autoinventoryonline.com/

Sunday, January 28, 2007

ASP.NET 2.0 - Membership and Roles

Today, I have been working with SQL Server 2000 and Visual Studio 2005 to increase my speed in development by using Strongly Typed Datatypes and the Membership/Roles provided by SQL.

For now I am going to jump into using the Membership/Roles provided by ASP.NET.

Microsoft has made it easy to setup membership/role for you Web application, but did not explain the needs most freelance developers must use in order to use rented Web hosting space.

As for my self I develop on http://www.idevconsultants.com/ servers and they run SQL 2000. And not to mention I do not have keys to the server so I have to develop with what I can without making changes to IIS. This is the same for most developers.

So here is the trick to use this new membership tools.

Scott Gu blog http://weblogs.asp.net/scottgu/archive/2005/08/25/423703.aspx explains the ends and outs, but basically the secret is to run the following tool:

Open a command-line window on your system and run the aspnet_regsql.exe utility that is installed with ASP.NET 2.0 in under your C:\WINDOWS\Microsoft.NET\Framework\v2.0.xyz directory. This tool will build all the Tables, StoredProcs needed to run the membership tools in ASP.NET 2.0.

VERY IMPORTANT: Next in your WEB.CONFIG name your connection string to

















Again DO NOT I REPEAT DO NOT change the name...

Wednesday, January 10, 2007

Testing Visual Studio with Firefox

In my job I develop for Intranets (IE) and Internet (All Browsers) and order to test Firefox I found the following article which was crucial to setting up the Firefox browser for testing an ASP.NET 2.0 application in order to get NTLM to work.

http://brennan.offwhite.net/blog/2005/07/22/firefox-authentication-with-ntlm/

Be sure to add localhost to your proxy if needed.