[ hz_semir @ 04.02.2010. 00:22 ] @
Pozdrav.

Napravio sam jednu aplikaciju u VS2005 u programskom jeziku C#, koja se kaci na Oracle 10g XE bazu i radi sa njom. Aplikacija je normalno radila, dok sam bio na XP-u, ali kad sam formatirao racunar, instalirao Windows 7, te ponovo instalirao istu bazu i ovaj put VS2008, pomocu njegovog konvertora konvertovao projekat iz VS2005 u VS2008 format, više se ne mogu nakačiti na bazu (opet sam kreirao istog usera i isti password, te kopirao sve podatke iz stare baze u novu), u slijedecoj funkciji mi baca izuzetak (bez detaljnijeg objasnjenja :S):

Code (csharp):

private void funkcija()
        {
            if (a == 1)
            {
                OracleConnection conn = new OracleConnection();
                string oradb = "data source=//localhost/xe;User Id=hr;Password=hr;";
                conn.ConnectionString = oradb;
                               
                try
                {
                    conn.Open();                    
                    menuStrip1.Enabled = true;
                }
                catch (OracleException e)
                {
                    MessageBox.Show(e.Message.ToString());
                    menuStrip1.Enabled = false;
                }
            }
        }
 


Preciznije izuzetak baca na pozivu metode conn.Open(), pretpostavljam da je greska u formatu Connection stringa, da li neko zna u cemu bi mogao biti problem, jer je aplikacija prije radila potpuno normalno...

[Ovu poruku je menjao Shadowed dana 04.02.2010. u 01:37 GMT+1]
[ Shadowed @ 04.02.2010. 00:37 ] @
Sta kaze u e.Message?
[ hz_semir @ 04.02.2010. 00:53 ] @
Uopste ne pise sta je greska, pise "No text available" :S

Evo i print screen Message Boxa:
[ Shadowed @ 04.02.2010. 01:27 ] @
Ako dobijas taj prozor, znaci da ima exception ali da ne ulazi u tvoj catch blok.
Probaj da OracleException zamenis sa exception ili dodaj jos jedan cach blok koji ima samo Exception.
[ hz_semir @ 04.02.2010. 01:42 ] @
Kad zamjenim OracleException sa obicnim Exception dobijem samo ovaj donji dio poruke "OCIEnvCreate Failed with return code -1...."
[ Shadowed @ 04.02.2010. 02:56 ] @
OK, vidi onda imas li InnerException i ima li on svoj itd. sve dok InnerException nije null. Vidi njihove message-e.
Moguce da je neki security problem...
[ hz_semir @ 04.02.2010. 13:33 ] @
Odmah na prvom Exceptionu vrijednost InnerException-a je null... :(
[ Shadowed @ 04.02.2010. 14:48 ] @
Onda ne znam.. Oracle nisam koristio. Probaj da guglas sa tom porukom.
Imas o connectionstring-ovima vise na - http://www.connectionstrings.com/oracle
[ hz_semir @ 04.02.2010. 23:53 ] @
Riješio sam problem.

Skroz sam zaboravio da treba instalirati Oracle Data Access Components, koji se moze skinuti sa Oracleovog sajta, nakon toga je sve proradilo bez problema.

U svakom slucaju, Shadowed hvala na pomoci i odvojenom vremenu ;)