Also, dynamic connection strings are covered in chapter 7 of NHibernate 3.0
Cookbook.
https://www.packtpub.com/nhibernate-3-0-cookbook/book<http://jasondentler.com/blog/2009/11/authentication-impersonation-and-dynamic-nhibernate-connection-strings/>

<https://www.packtpub.com/nhibernate-3-0-cookbook/book>and my blog:
http://jasondentler.com/blog/2009/11/authentication-impersonation-and-dynamic-nhibernate-connection-strings/


On Thu, Oct 14, 2010 at 10:25 AM, Oscar Orduz Acosta <[email protected]>wrote:

> Hello  CompuFit:
>
> I don't know if this
> http://nhforge.org/wikis/howtonh/dynamically-change-user-info-in-connection-string.aspx
>  can
> help you
>
> Oscar
>
> 2010/10/14 CompuFit <[email protected]>
>
> Hey,
>>
>> I have this project where a user must log in into his account and then
>> they can create contacts in their database.
>> There is 1 global connectionstring > for checking if the user is
>> valid.
>> When the user is valid, it has its own connectionstring.
>>
>> Example:
>> User ID=sa;Password=test;Data Source=db_general;Initial
>> Catalog=database > general connectionstring
>> User ID=sa;Password=test;Data Source=db_user1;Initial Catalog=database
>> > connectionstring for user 1
>> User ID=sa;Password=test;Data Source=db_user2;Initial Catalog=database
>> > connectionstring for user 2
>>
>> For now I use only 1 connectionstring. Like this:
>> In the hibernate.cfg;xml
>> <?xml version="1.0" encoding="utf-8" ?>
>> <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
>> <session-factory>
>> <property
>> name="connection.driver_class">NHibernate.Driver.SqlClientDriver</
>> property>
>> <property name="connection.connection_string">User
>> ID=sa;Password=test;Data Source=db_general;Initial Catalog=database</
>> property>
>> <property name="adonet.batch_size">10</property>
>> <property name="show_sql">true</property>
>> <property name="dialect">NHibernate.Dialect.MsSql2008Dialect</
>> property>
>> <property name="command_timeout">60</property>
>> <property
>>
>> name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory,
>> NHibernate.ByteCode.LinFu</property>
>> <property
>>
>> name="connection.provider">NHibernate.Connection.DriverConnectionProvider</
>> property>
>> </session-factory>
>> </hibernate-configuration>
>>
>> Getting data, for example:
>> CtInfo.cs > contact
>> public static CtInfo GetById(int? pId)
>>        {
>>            using (ISession session = SessionHelper.OpenSession())
>>            {
>>                return session.Get<CtInfo>(pId);
>>            }
>>        }
>>
>> SessionHelper.cs:
>>
>>  private static ISessionFactory _sessionFactory;
>>        private static ISessionFactory SessionFactory
>>        {
>>            get
>>            {
>>                if (_sessionFactory == null)
>>                {
>>                    Configuration config = new
>> Configuration().Configure();
>>                    config.AddAssembly(typeof(CtInfo).Assembly);
>>                    _sessionFactory = config.BuildSessionFactory();
>>                    if (_sessionFactory == null)
>>                        throw new InvalidOperationException("Could not
>> build SessionFactory");
>>                }
>>                return _sessionFactory;
>>            }
>>        }
>>  public static ISession OpenSession()
>>        {
>>            ISession session = SessionFactory.OpenSession();
>>            if (session == null)
>>                throw new InvalidOperationException("Cannot open
>> session");
>>
>>            return session;
>>        }
>>
>> The connectionstring is automatically given to SessionFactory. Do I
>> need to create a new SessionFactory for each user?? Or is there a
>> better way?
>> Like something like this
>>
>> public static CtInfo GetById(int? pId, string pConnectionString)
>>        {
>> //give connectionstring to session factory??
>>
>>
>> Thanks in advance.
>> CompuFit.
>>
>> --
>> 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]<nhusers%[email protected]>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/nhusers?hl=en.
>>
>>
>  --
> 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]<nhusers%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/nhusers?hl=en.
>

-- 
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