Erlang driver and Ecto adapter for Sybase ASE Database
Adapter options split in different categories described below. All options can be given via the repository configuration:
config :your_app, YourApp.Repo,
...
:hostname- Server hostname (Name or IP address of the database server):port- Server port (Number of the port where the server listens for requests):database- Database (Database name):username- Username (Name for the connecting user):password- User password (Password for the connecting user):parameters- Keyword list of connection parameters:socket_options- Options to be given to the underlying socket:timeout- The default timeout to use on queries, defaults to15000
:pool- The connection pool module, defaults toDBConnection.ConnectionPool:pool_size- The size of the pool, defaults to1:idle_interval- The ping interval to validate an idle connection, defaults to5000
Using query options: [in: [:numeric, :binary]]
| Sybase types | Literal syntax in params |
|---|---|
bigint,int,smallint,tinyint |
:int, :integer |
numeric, decimal |
:numeric, :decimal |
float, double |
:float, :double |
char, varchar, univarchar |
:varchar, :char, :string |
nchar, nvarchar |
:nvarchar, :nchar |
text, unitext, image |
:text, :clob |
binary, varbinary |
:binary |
long binary, long varchar |
:long |
money, smallmoney |
:money |
datetime, smalldatetime |
:datetime |
date |
:date |
time |
:time |
bit |
:bit |
iex> Ecto.Adapters.SQL.query(YourApp.Repo, "select 1/10, getdate(), newid()", [])
{:ok, %{num_rows: 1, rows: [[0, ~N[2016-08-01 13:14:15], "84be3f476ce14052aed69dbfa57cdd43"]]}}
iex> bin = %Ecto.Query.Tagged{value: <<0xE7,0x99,0xBE>>, type: :binary}
iex> Ecto.Adapters.SQL.query(YourApp.Repo, "insert into tabl values (:1)", [bin])
iex> bin = <<0xE7,0x99,0xBE>>
iex> Ecto.Adapters.SQL.query(YourApp.Repo, "insert into tabl values (:1)", [bin]], [in: [:binary]])