[erlang-questions] gen_server and odbc problem about How to share a odbc connection
Anthony Kong
anthony.hw.kong@REDACTED
Fri Mar 28 12:53:55 CET 2008
"State" is here for you to store per server state information.
So, you can
init([]) ->
process_flag(trap_exit, true),
io:format("Authserver init with []~n"),
{ok,Conn}=odbc:connect("DSN=flashpk;UID=flashpk;PWD=flashpk",[{trace_driver,on}]),
{ok, [Conn]}. %% keep the connection in the state
handle_info({?PLLOGIN,Uid,Pwd},State) ->
[Conn] = State, %% get the connection back from the state
io:format("PLLogin id:~w Uid:~w Pwd:~w~n",[?PLLOGIN,Uid,Pwd]),
odbc:sql_query(Conn,"insert into customer(cno,password) values
('root','123456')"),
{noreply, State}.
Cheers, Anthony
On Fri, Mar 28, 2008 at 10:23 PM, wenew zhang <wenewboy@REDACTED> wrote:
> Dear All,
> Maybe another low-level question,but it's make me confused,
>
> init([]) ->
> process_flag(trap_exit, true),
> io:format("Authserver init with []~n"),
> % {ok,Bin}=file:consult(?AUTHCONF),
> % DDsn=element(2,lists:nth(1,Bin)),
> % Duser=element(2,lists:nth(2,Bin)),
> % Dpwd=element(2,lists:nth(3,Bin)),
> %%Ddatabase=element(2,lists:nth(4,Bin)),
> % DSNString="DSN="++DDsn++";UID="++Duser++";PWD="++Dpwd,
> % {ok,Conn}=odbc:connect(DSNString,[{trace_driver,on}]),%% read the
> odbc settings
> {ok,Conn}=odbc:connect("DSN=flashpk;UID=flashpk;PWD=flashpk",[{trace_driver,on}]),
> {ok,0}.
>
> handle_info({?PLLOGIN,Uid,Pwd},_State) ->
> io:format("PLLogin id:~w Uid:~w Pwd:~w~n",[?PLLOGIN,Uid,Pwd]),
> odbc:sql_query(Conn,"insert into customer(cno,password) values
> ('root','123456')"),
> {noreply, _State}.
>
> i want share the Conn ,but i get the unbound error,
> so How to share a odbc connection?
> or anybody have other solutions?
>
> Best Regards
>
> wenew zhang
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://www.erlang.org/mailman/listinfo/erlang-questions
>
--
/*--*/
Don't EVER make the mistake that you can design something better than
what you get from ruthless massively parallel trial-and-error with a
feedback cycle. That's giving your intelligence _much_ too much
credit.
- Linus Torvalds
More information about the erlang-questions
mailing list