我找不到任何文档或示例。到目前为止,我可以成功连接,但我不知道选择和返回数据的语法。如何从Elixir通过ODBC选择数据?
:odbc.start()
{:ok, conn} = :odbc.connect('DSN=mydsn;UID=myuid;PWD=mypwd', [])
:odbc.execute_stmt(conn, 'select count(*) from mytable')
:odbc.stop()
**(UndefinedFunctionError)未定义功能:odbc.execute_stmt/2 (ODBC):( '从mytable的SELECT COUNT(*)' #PID < 0.85.0>)odbc.execute_stmt
更新2015年10月6日
我发现如何做到这一点。我相信我找不到任何关于Elixir的文档,因为Elixir只是简单地传递给Erlang库。
在它的sql_query,或select_count任何情况下:
{:selected, colNames, rows} = :odbc.sql_query(conn, 'select count(*) from mytable')
{:选择,[ 'COUNT'],[{ '182'}]}
{:ok, count} = :odbc.select_count(conn, 'select * from mytable')
{:ok,182}
更新2015年10月7日
这是我最后的代码,我相信这是更地道:
:odbc.start()
case :odbc.connect('DSN=mydsn;UID=#{System.get_env("MY_UID")};PWD=#{System.get_env("MY_PASSWORD")}', []) do
{:ok, conn} ->
case :odbc.sql_query(conn, 'select count(*) from mytable') do
{:selected, _colNames, [{count}]} -> IO.puts "count = #{count}"
{:error, err} -> {:error, err}
end
{:error, err} -> {:error, err}
end
:odbc.stop()