Voici un exemple de code pour accéder à SQL Server avec Ruby, dans un environnement Win32 :

require 'win32ole'
 
adoConn = WIN32OLE.new('ADODB.Connection')
adoRS = WIN32OLE.new("ADODB.Recordset")
 
adoConn.ConnectionString = "Provider=sqloledb;Data Source=MyServer;Initial Catalog=MyDatabase;Integrated Security=SSPI;" 
 
adoConn.Open
adoRS=adoConn.Execute("SELECT TOP 10 * From dbo.MyTable") 
 
while not adoRS.EOF
 puts adoRS.Fields("MyColumn").Value
 adoRS.MoveNext
end
 
adoConn.Close

A noter que, à ma première tentative, la chaîne de connexion n'était pas correcte, l'erreur renvoyée par Ruby n'était pas claire du tout. L'erreur semble commencer par un “in 'method_missing': Open…”, avec ensuite, avec un peu de chance, une erreur ADO claire, ou un numéro d'erreur. Il faudra peut-être que vous tâtonniez dans certains cas.

Pour connaître les méthodes disponibles sur un object OLE, rien de tel qu'un peu de réflexion :

for method in adoRS.ole_func_methods
  puts method
end
 
programmation/ruby/ruby_sur_win32.txt · Dernière modification: 2006/03/25 23:51 (édition externe)