Gå til innhold

Merkelig problem etter bytte av webserver


Anbefalte innlegg

Hei,

 

Det har oppstått noen merkelige problemer etter at jeg flyttet den til en ny webserver. Jeg får feilmeldinger om at kolonne x ikke eksisterer i rad y.

 

 

Koden bak ser noe slik ut. Har forenklet den en del for å trekke ut de viktigste elementene.

 

public class Customer : SqlDatabaseClass
{
private int _customerId;
private string _customerName;

public Customer(int customerId, string customerName)
{
  _customerId = customerId;
  _customerName = customerName;
}

public int CustomerId
{
 get { return _customerId; }
}

public string CustomerName
{
  get { return _customerName;}
}

public static CustomerCollection GetCustomer(int customerId)
{
    // Verify input
    if(customerId <= 0)
       throw new ArgumentException("customerId");

    SqlCommand cmd = new SqlCommand("Kundedata_HentKunde");
    cmd.CommandType = CommandType.StoredProcedure;

    cmd.Parameters.Add("@kundeId", SqlDbType.Int).Value = customerId;

    return executeReader(cmd);
}

private static CustomerCollection executeReader(SqlCommand sqlCmd)
{
   CustomerCollection col = new CustomerCollection();

   using(SqlConnection con = createNewConnection())
   {
          con.Open();

          sqlCmd.Connection = con;

          SqlDataReader reader = sqlCmd.ExecuteReader();
          while(reader.Read())
          {
                // Her feiler applikasjonen i 1% av tilfellene
                // Jeg får beskjed om at kolonnen "KundeId" ikke eksisterer
                Customer c = new Customer(
                            Convert.ToInt32(reader["KundeId"]),
                            Convert.ToString(reader["KundeNavn"]));

                // Add customer to collection
                col.Add(c);

          }
          con.Close();
   }

    return col;
}
}

 

Det som er merkelig er at koden kjører helt fint 99% av tiden. Men av og til får jeg altså feilmelding om at kolonne "KundeId" ikke eksisterer. reader.Read() returner tydeligvis true men feiler når jeg prøver å hente ut dataene.

 

Jeg kjører .NET 1.1 på IIS 6.0 og bruker MS SQL 2000.

 

 

:hmm:

Endret av alftore
Lenke til kommentar
Videoannonse
Annonse

Vel det kan godt være sql serveren. Men jeg har ikke byttet sql server kun webserver. Jeg skulle likt å visst litt mer hvordan sql driverne til MS fungerer.

 

Lurer også på om det kan være et skaleringsproblem. Får debugge litt mere når jeg har bedre tid.

Lenke til kommentar
Kan du legge ut SQL koden/SP'en som blir kjørt?  I tillegg lønner det seg å lukke selve SqlDataReader objektet, gjerne ved å bruke using...

 

using(SqlDataReader reader = sqlCmd.ExecuteReader())

{

...etc

}

8075485[/snapback]

Jeg sverger fortsatt til Close og Dispose, men... :p hehe... Jeg er bare litt sær...

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...