Loading...
Loading...
Avg 11.3 stars per repo.
Coding for 18 years.
=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/sqlanywhere/sqlanywhere.git
==Build Instructions
===Requirements
===All Platforms
To build the library (.so), use:
rake
To build and install the gem, use:
rake gem rake install
The other rake tasks are
rake clean -> Cleans up all temp files (ex *.~) rake clobber -> Cleans up all built files (ex *.gem, *.o, *.so)
===Additional Install Notes for Windows
The popular One-Click Ruby Installer for Windows (RubyInstaller) is built using Microsoft Visual C++ 6.0. Since problems can arise by combining binaries from different compilers, we advise you use this compiler.
If you want to use a more recent version of the MS C++ compiler, you will need to make a few changes:
Open the file: \lib\ruby\1.8\i386-mswin32\config.h, and comment out the first three lines so they look like:
//#if _MSC_VER != 1200 //#error MSC version unmatch //#endif
This removes the check for C++ Version 6.0
Open rakefile and set:
APPLY_MANIFEST = true
This will add the manifest to the compiled binaries.
By default, rake will attempt to use Microsoft nmake when building under Windows. To use another make program, set:
USE_NMAKE_ON_WIN = FALSE
==Running Unit Tests
Change to the the test directory
cd test
Create a testing database:
dbinit test
Start the testing database:
dbeng12 test.db
Create the test schema:
dbisql -c "eng=test;uid=dba;pwd=sql" test.sql
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.
begin
require 'rubygems'
gem 'sqlanywhere'
unless defined? SQLAnywhere
require 'sqlanywhere'
end
end
api = SQLAnywhere::SQLAnywhereInterface.new()
SQLAnywhere::API.sqlany_initialize_interface( api )
api.sqlany_init()
conn = api.sqlany_new_connection()
api.sqlany_connect(conn, "uid=dba;pwd=sql")
api.sqlany_execute_immediate(conn, "MESSAGE 'Successful Ruby Connection'")
api.sqlany_disconnect(conn)
api.sqlany_free_connection(conn)
api.sqlany_fini()
SQLAnywhere::API.sqlany_finalize_interface( api )