README.rdoc in tiny_tds-0.4.2 vs README.rdoc in tiny_tds-0.4.3

- old
+ new

@@ -28,11 +28,11 @@ == FreeTDS Compatibility -TinyTDS is developed for FreeTDS 0.82 & 0.83.dev. It is tested with SQL Server 2000, 2005, and 2008 using TDS Version 8.0. We utilize FreeTDS's db-lib client library. We compile against sybdb.h and define MSDBLIB which means that our client enables Microsoft behavior in the db-lib API where it diverges from Sybase's. You do NOT need to compile FreeTDS with the "--enable-msdblib" option for our client to work properly. However, please make sure to compile FreeTDS with libiconv support for encodings to work at their best. Run "tsql -C" in your console and check for "iconv library: yes". +TinyTDS is developed for FreeTDS 0.82 & 0.83.dev. It is tested with SQL Server 2000, 2005, 2008 and Azure using TDS Version 8.0. We utilize FreeTDS's db-lib client library. We compile against sybdb.h, undefine MSDBLIB and define SYBDBLIB which means that internally we conform to sybase API to db-lib. TinyTDS will work for both Sybase & Miscrosoft SQL Server. You do NOT need to compile FreeTDS with the "--enable-msdblib" option for our client to work properly. However, please make sure to compile FreeTDS with libiconv support for encodings to work at their best. Run "tsql -C" in your console and check for "iconv library: yes". == Data Types @@ -62,15 +62,24 @@ * :appname - Short string seen in SQL Servers process/activity window. * :tds_version - TDS version. Defaults to 80, not recommended to change. * :login_timeout - Seconds to wait for login. Default to 60 seconds. * :timeout - Seconds to wait for a response to a SQL command. Default 5 seconds. * :encoding - Any valid iconv value like CP1251 or ISO-8859-1. Default UTF-8. +* :azure - Pass true to signal that you are connecting to azure. -Close and free a clients connection. - +Use the #active? method to determine if a connection is good. The implementation of this method may change but it should always guarantee that a connection is good. Current it checks for either a closed or dead connection. + + client.dead? # => false + client.closed? # => false + client.active? # => true + client.execute("SQL TO A DEAD SERVER") + client.dead? # => true + client.closed? # => false + client.active? # => false client.close - client.closed? # => true + client.closed? # => true + client.active? # => false Escape strings. client.escape("How's It Going'") # => "How''s It Going''" @@ -93,11 +102,11 @@ # Here's an leemer: http://is.gd/g61xo end A result object has a #fields accessor. It can be called before the result rows are iterated over. Even if no rows are returned, #fields will still return the column names you expected. Any SQL that does not return columned data will always return an empty array for #fields. It is important to remember that if you access the #fields before iterating over the results, the columns will always follow the default query option's :symbolize_keys setting at the client's level and will ignore the query options passed to each. - result = client.execute("USE [tinytds_test]") + result = client.execute("USE [tinytdstest]") result.fields # => [] result.do result = client.execute("SELECT [id] FROM [datatypes]") result.fields # => ["id"] @@ -217,13 +226,19 @@ http://github.com/rails-sqlserver/activerecord-sqlserver-adapter/wiki/Using-TinyTds +== Using TinyTDS with Azure + +TinyTDS is fully tested with the Azure platform. You must set the :azure => true connection option when connecting. This is needed to specify the default in the login packet since Azure has no notion of "USE [database]". You must use the latest FreeTDS 0.83.dev and it must be compiled with OpenSSL. + + + == Development & Testing -We use bundler for development. Simply run "bundle install" then "rake" to build the gem and run the unit tests. The tests assume you have created a database named "tinytds_test" accessible by a database owner named "tinytds". Before running the test rake task, you may need to define a pair of environment variables that help the client connect to your specific FreeTDS database server name and which schema (2000, 2005 or 2008) to use. For example: +We use bundler for development. Simply run "bundle install" then "rake" to build the gem and run the unit tests. The tests assume you have created a database named "tinytdstest" accessible by a database owner named "tinytds". Before running the test rake task, you may need to define a pair of environment variables that help the client connect to your specific FreeTDS database server name and which schema (2000, 2005, 2008 or azure) to use. For example: $ rake TINYTDS_UNIT_DATASERVER=mydbserver TINYTDS_SCHEMA=sqlserver_2008 If you are compiling locally using MiniPortile (the default dev setup) and you do not have a user based freetds.conf file with your dataservers, you may have to configure the locally compiled freetds.conf file. You can find it at the ports/<platform>/freetds/<version>/etc/freetds.conf path locally to your repo. In this situation you may have to set the FREETDS environment variable too this full path. @@ -242,10 +257,10 @@ == About Me -My name is Ken Collins and to avoid confusion – I have no love for Microsoft nor do I work on Windows or have I ever owned a PC, just so we know :) – I currently maintain the SQL Server adapter for ActiveRecord and wrote this library as my first cut into learning ruby C extensions. Hopefully it will help promote the power of ruby and the rails framework to those that have not yet discovered it. My blog is http://metaskills.net and I can be found on twitter as @metaskills. Enjoy! +My name is Ken Collins and I currently maintain the SQL Server adapter for ActiveRecord and wrote this library as my first cut into learning ruby C extensions. Hopefully it will help promote the power of ruby and the rails framework to those that have not yet discovered it. My blog is http://metaskills.net and I can be found on twitter as @metaskills. Enjoy! == Special Thanks