Avatar billede Slettet bruger
07. januar 2003 - 14:28 Der er 5 kommentarer og
3 løsninger

Server timeout ved forbindelse til Oracle via C#

Ved forbindelse til Oracle via C# kode får jeg følgende fejl:

OracleTest.xslt System.InvalidOperationException: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached. at System.Data.OracleClient.OracleConnectionPoolManager.GetPooledConnection(String encryptedConnectionString, OracleConnectionString options, Boolean& isInTransaction) at System.Data.OracleClient.OracleConnection.OpenInternal(OracleConnectionString parsedConnectionString, Object transact) at System.Data.OracleClient.OracleConnection.Open() at <sourcefile>

Min C# kode er som følger (jeg har fjernet SQL statement og connectionstring):

        public string OracleTest()
        {
            try
            {
                string resStr = "";
                int    lineNo = 0;
                string sqlString = "*******";

                OracleConnection conn = new OracleConnection( <connectionstring> );
                conn.Open();
                try
                {
                    OracleCommand cmd = conn.CreateCommand();
                    cmd.CommandText = sqlString;
                    OracleDataReader reader = cmd.ExecuteReader();
                    reader.Read();
                    return reader.GetOracleValue(0).ToString();
                }
                finally
                {
                    conn.Close();
                }
            }
            catch (Exception e)
            {
                return e.ToString();
            }
        }

Funktionen fejler allerede på conn.Open().

Hvad kan der være galt?
Avatar billede pnielsen Nybegynder
07. januar 2003 - 16:13 #1
Umiddelbart så kunne det ligne et problem med noget firewall , da det normalt giver en Timeout expired. Har du en ok forbindelse til databasen via f.eks. sqlplus fra den server hvor du forsøger kører dette kode ?

Hvilken klient version har du installeret og hvilken er der i den anden ende?
Kører i MTS på databasen ?
Avatar billede Slettet bruger
07. januar 2003 - 16:26 #2
Der er installeret Oracle Client 8.1.7.2.0. SQL+ er ikke installeret (webserveren er outsourced så jeg har ikke den fulde kontrol).

Måske er det DSN'en eller min connectionstring den er gal med?
Avatar billede pnielsen Nybegynder
07. januar 2003 - 16:35 #3
>>Måske er det DSN'en eller min connectionstring den er gal med?
Ja. Præcis!

DSN. Ok.. så du bruger ODBC? Har du så installeret Oracle ODBC test ?
Kan den connecte til databasen ?
Avatar billede lap Nybegynder
07. januar 2003 - 20:06 #4
En lille kommentar: Jeg håber ikke, at også databasen kører oracle 8.1.7.2.0, da den er meget fejlbehæftet omkring export/import og databasetriggere.

Databasen bør være 8.1.7.4.? afhængig af platform.

Jeg er klar over, at det ikke har noget med dit spørgsmål at gøre, men alligevel...
Avatar billede kichian Nybegynder
07. januar 2003 - 21:42 #5
Prøv at oprette en DSN og test forbindelsen inden du lancerer det som et C# problem!.

Er din tnsnames.ora sat rigtig op? Og har du evt. adgang til den?
Avatar billede kichian Nybegynder
07. januar 2003 - 21:44 #6
Hvad er din connectionstring ?
Avatar billede Slettet bruger
08. januar 2003 - 08:47 #7
Den seneste connectionstring jeg prøvede var "Data Source=oracledsn;Integrated Security=yes;min pool size=1; max pool size=5000;"
Avatar billede akgroth Nybegynder
22. januar 2003 - 08:49 #8
Har du prøvet at slå SQL*Net tracing til ?

Sæt i sqlnet.ora på klienten:
trace_level_client=16
trace_directory_client=<sti til trace fil katalog>

For hver connection vil der blive genereret en tracefil. Her er der gode
chancer for, at du kan se en indikation på årsagen.

HUSK HUSK HUSK at slå tracing fra igen. Datamængden i trace filerne
kan blive temmelig stor.

Mvh

Anders
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester