Skip to content

A low-lever driver that allows Ruby code to interface with SQL Anywhere databases

License

Notifications You must be signed in to change notification settings

in4systems/sqlanywhere

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SQL Anywhere Ruby Driver

This is a native SQL Anywhere driver for Ruby. This library wraps the functionality provided by the SQL Anywhere DBCAPI library. This driver is intended to be a base-level library to be used by interface libraries such as Ruby-DBI and ActiveRecord.

This driver can be used with SQL Anywhere 10 and later versions.

This driver is licensed under the Apache License, Version 2.

The official code repository is located on GitHub. The repository can be cloned with:

git clone git://github.com/in4systems/sqlanywhere.git

Running Unit Tests

  1. Change to the the test directory

    cd test

  2. Create a testing database:

    dbinit test

  3. Start the testing database:

    dbeng12 test.db

  4. Create the test schema:

    dbisql -c "eng=test;uid=dba;pwd=sql" test.sql

  5. Run the unit tests:

    ruby sqlanywhere_test.rb

If the tests fail to run, make sure you have set up the SQL Anywhere environment variables correctly. For more information, review the online documentation here [http://dcx.sybase.com/index.html#1200/en/dbadmin/da-envvar.html].

Sample

This script makes a connection, prints Successful Ruby Connection to the SQL Anywhere console, then disconnects.

load the SQLAnywhere gem

begin

 require 'rubygems'

 gem 'sqlanywhere'

 unless defined? SQLAnywhere

   require 'sqlanywhere'

 end

end

create an interface

api = SQLAnywhere::SQLAnywhereInterface.new()

initialize the interface (loads the DLL/SO)

SQLAnywhere::API.sqlany_initialize_interface( api )

initialize our api object

api.sqlany_init()

create a connection

conn = api.sqlany_new_connection()

establish a connection

api.sqlany_connect(conn, "uid=dba;pwd=sql")

execute a query without a result set

api.sqlany_execute_immediate(conn, "MESSAGE 'Successful Ruby Connection'")

disconnect from the database

api.sqlany_disconnect(conn)

free the connection resources

api.sqlany_free_connection(conn)

free resources the api object uses

api.sqlany_fini()

close the interface

SQLAnywhere::API.sqlany_finalize_interface( api )

About

A low-lever driver that allows Ruby code to interface with SQL Anywhere databases

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%