我找不到任何文檔或示例。到目前爲止,我可以成功連接,但我不知道選擇和返回數據的語法。如何從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()