Hi all,
I need a little help with NHibernat,
I try to execute a storedProcedure from my App. but get the following Error:
Code:
"could not execute query\r\n[ Call sample() ]\r\n[SQL: Call sample()]"
{"Could not find specified column in results"}
that's how my procedure is looking like:
Code:
DELIMITER $$
DROP PROCEDURE IF EXISTS `nhibernate`.`sample` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `sample`()
BEGIN
SELECT * FROM `users`;
END $$
DELIMITER ;
What am I doing wrong???
regards,
Omid
Hibernate version: NHibernate 1.2.0
Mapping documents:Code:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="NHibernateSample"
namespace="NHibernateSample">
<class name="User" table="users" lazy="true">
<id name="Id" column="LogonId" type="String" length="20">
<generator class="assigned" />
</id>
<property name="UserName" column="Name" type="String" length="40"/>
<property name="Password" type="String" length="20"/>
<property name="EmailAddress" type="String" length="40"/>
<property name="LastLogon" type="DateTime"/>
</class>
<sql-query name="Sample_SP">
<return alias="usr" class="User">
<return-property name="LogonId" column="LogonId"/>
<return-property name="UserName" column="UserName"/>
<return-property name="Password" column="Password"/>
<return-property name="EmailAddress" column="EmailAddress"/>
<return-property name="LastLogon" column="LastLogon"/>
</return>
Call sample()
</sql-query>
</hibernate-mapping>
Code between sessionFactory.openSession() and session.close():Code:
ISessionFactory factory = cfg.BuildSessionFactory();
ISession session = factory.OpenSession();
IList list = session.GetNamedQuery("Sample_SP").List();
session.Close();
Full stack trace of any exception that occurs:Code:
" at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters)
at NHibernate.Loader.Loader.ListIgnoreQueryCache(ISessionImplementor session, QueryParameters queryParameters)
at NHibernate.Loader.Loader.List(ISessionImplementor session, QueryParameters queryParameters, ISet querySpaces, IType[] resultTypes)
at NHibernate.Loader.Custom.CustomLoader.List(ISessionImplementor session, QueryParameters queryParameters)
at NHibernate.Impl.SessionImpl.ListCustomQuery(ICustomQuery customQuery, QueryParameters queryParameters, IList results)
at NHibernate.Impl.SessionImpl.List(NativeSQLQuerySpecification spec, QueryParameters queryParameters, IList results)
at NHibernate.Impl.SessionImpl.List(NativeSQLQuerySpecification spec, QueryParameters queryParameters)
at NHibernate.Impl.SqlQueryImpl.List()
at NHibernateSample.Form1.button3_Click(Object sender, EventArgs e) in C:\\Dokumente und Einstellungen\\Administrator\\Eigene Dateien\\Visual Studio 2005\\Projects\\NHibernateSample\\NHibernateSample\\Form1.cs:line 62
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at NHibernateSample.Program.Main() in C:\\Dokumente und Einstellungen\\Administrator\\Eigene Dateien\\Visual Studio 2005\\Projects\\NHibernateSample\\NHibernateSample\\Program.cs:line 17
at System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)\r\n at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()"
Name and version of the database you are using:Code:
Mysql