Thanks that was it:

 Pooling=false;

 added to connection string fixed it!

On Jul 1, 5:22 pm, Oskar Berggren <[email protected]> wrote:
> Look up connection pooling (ADO.NET, below NHibernate) and how to turn
> this off for the Firebird ADO.NET driver. This is possibly a parameter
> in you connection string.
>
> /Oskar
>
> 2009/6/30 theghost <[email protected]>:
>
>
>
> > Hi,
> > As part of learning nhibernate i am trying to set up some basic unit
> > tests. As part of the set up I blow away and re-copy a small firebird
> > database to my testing directory. I am having a problem though, in
> > that somehow I am holding onto a database connection after each test
> > so although any test will pass on its own my setup fails if I try to
> > run 2 tests in a row. An abbreviated version of the offending code is
> > as follows:
>
> >        [SetUp]
> >        public void SetUp()
> >        {
> >           // copy a new test file overwrite the old
> >           UnitTestSetUpTearDown.CopyTestFile("NHIBERNATE.FDB");
> >        }
>
> >        [Test]
> >        public void TestDoNothing()
> >        {
>
> > --- standard connection string setup etc before this results in a
> > valid Configuration  object for my test db
>
> >            cfg.AddAssembly("NhibernateExample1");
>
> >            using (var factory = cfg.BuildSessionFactory())
> >            {
> >                using (var ses = factory.OpenSession())
> >                {
> >                   using (var trans = ses.BeginTransaction())
> >                    {
> >                       trans.Commit();
> >                    }
> >                }
> >            }
> >        }
>
> >        [Test]
> >        public void TestDoNothingAgain()
> >        {
> >            TestDoNothing();
> >        }
>
> > SetUp before TestDoNothingAgain() seems to have trouble deleting the
> > old database file. Anything short of commenting out:
>
> > using (var trans = ses.BeginTransaction())
> > {
> >     trans.Commit();
> > }
>
> > doesn't seem to work.. have tried calling every procedure I can find
> > that might be to do with closing connections on both trans and ses but
> > no luck.
>
> > Any suggestions as to what i need to do to delete this file?
>
> > Error is as folllows:
>
> > NHibernate.Examples.QuickStart.UnitTestingClasses.TestDoNothingAgain:
> > System.IO.IOException : The process cannot access the file 'C:
> > \Documents and Settings\Administrator\Local Settings\Temp
> > \nunit20\ShadowCopyCache\3944_633820564853125000\Tests\assembly
> > \dl3\d63c7fa7\7439d31b_07fac901\NHIBERNATE.FDB' because it is being
> > used by another process.
>
> > at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
> > at System.IO.File.Delete(String path)
> > at UnitTestUtilities.UnitTestSetUpTearDown.CopyTestFile(String
> > testFileNoDir) in C:\Documents and Settings\Administrator\My Documents
> > \Visual Studio 2008\Projects\utilityClasses
> > \UnitTestSetUpTearDownProcs.cs:line 28
> > at NHibernate.Examples.QuickStart.UnitTestingClasses.SetUp() in C:
> > \Documents and Settings\Administrator\My Documents\Visual Studio
> > 2008\Projects
> > \NhibernateExample1\NhibernateExample1\UnitTestingClasses.cs:line 131
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to