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]])