ruby Á¬½Ó²Ù×÷ sql2005
The following is improved version of the code created by David Mullet, from
http://rubyonwindows.blogspot.com/2007/03/ruby-ado-and-sqlserver.html
require 'win32ole'
class SqlServer
# This class manages database connection and queries
attr_accessor :connection, :data, :fields
attr_writer :username, :password
def initialize(host, username = 'sa', password='')
@connection = nil
@data = nil
@host = host
@username = username
@password = password
end
def open(database)
# Open ADO connection to the SQL Server database
connection_string = "Provider=SQLOLEDB.1;"
connection_string << "Persist Security Info=False;"
connection_string << "User ID=#{@username};"
connection_string << "password=#{@password};"
connection_string << "Initial Catalog=#{database};"
connection_string << "Data Source=#{@host};"
connection_string << "Network Library=dbmssocn"
@connection = WIN32OLE.new('ADODB.Connection')
@connection.Open(connection_string)
end
def query(sql)
# Create an instance of an ADO Recordset
recordset = WIN32OLE.new('ADODB.Recordset')
# Open the recordset, using an SQL statement and the
# existing ADO connection
recordset.Open(sql, @connection)
# Create and populate an array of field names
@fields = []
recordset.Fields.each do |field|
@fields << field.Name
end
begin
# Move to the first record/row, if any exist
recordset.MoveFirst
# Grab all records
@data = recordset.GetRows
rescue
@data = []
end
recordset.Close
# An ADO Recordset's GetRows method returns an array
# of columns, so we'll use the transpose method to
# convert it to an array of rows
@data = @dat
Ïà¹ØÎĵµ£º
ÓÐÕâÑùÒ»¸öÊý¾Ý¿â±í
t1 t2 t3……n
--------------------------
aaa ......
http://support.microsoft.com/default.aspx/kb/237980/zh-cn
½« Access Êý¾Ý¿âת»»Îª SQL Server µÄ×î¼ò±ã·½·¨ÊÇʹÓÃÉýǨÏòµ¼¡£ÉýǨÏòµ¼£º
±£ÁôÊý¾Ý¿â½á¹¹£¬°üÀ¨Êý¾Ý¡¢Ë÷ÒýºÍĬÈÏÉèÖá£
×Ô¶¯½« Access ÓÐЧÐÔ¹æÔòºÍĬÈÏÉèÖÃת»»ÎªÊʵ±µÄ SQL Server µÈЧÄÚÈÝ¡£
ÔÚÉýǨºó±£³Ö±í¹ØÏµºÍ²ÎÕÕÍêÕûÐÔ¡£
ÒªÔÚ Access 2000 ......
SQL Server 2005 ¾µÏñ¹¹½¨ÊÖ²á
Ò»¡¢ ¾µÏñ¼ò½é
1¡¢ ¼ò½é
Êý¾Ý¿â¾µÏñÊǽ«Êý¾Ý¿âÊÂÎñ´¦Àí´ÓÒ»¸öSQL ServerÊý¾Ý¿âÒÆ¶¯µ½²»Í¬SQL Server»·¾³ÖеÄÁíÒ»¸öSQL ServerÊý¾Ý¿âÖС£¾µÏñ²»ÄÜÖ±½Ó·ÃÎÊ;ËüÖ»ÓÃÔÚ´íÎó»Ö¸´µÄÇé¿öϲſÉÒÔ±»·ÃÎÊ¡£
Òª½øÐÐÊý¾Ý¿â¾µÏñËùÐèµÄ×îСÐèÇó°üÀ¨ÁËÁ½¸ö²»Í¬µÄSQL ServerÔËÐл·¾³¡£Ö÷·þÎñÆ÷± ......
×¼±¸¹¤×÷
Ê×ÏÈ£¬²Ù×÷ϵͳÖа²×°ºÃSQL Server 2000/2005£¬Èç¹ûϵͳÖж¼×°ÓÐ2000ºÍ2005°æ£¬¼ÇµÃÍ£ÓÃÒ»¸ö£¬Ö»¿ªÒ»¸öÐÐÁË¡£
È»ºó£¬µ½Î¢ÈíÍøÕ¾ÏÂÔØMicrosoft SQL Server 2005 JDBC Driver 1.1
£¬Ò²¿ÉÒÔʹÓÃÕâ¸öµØÖ·Ö±½ÓÏÂÔØ
¡£
½âѹsqljdbc_1.1.1501.101_chs.exe£¬°Ñsqljdbc_1.1¸´ÖƵ½%ProgramFiles%£¨Èç¹ûϵͳÔÚCÅÌÔòΪC:\ ......
Ò»¡¢sqlÊéд¹æ·¶£º
1¡¢sqlÓï¾äµÄËùÓбíÃû¡¢×Ö¶ÎÃûÈ«²¿Ð¡Ð´£¬ÏµÍ³±£Áô×Ö¡¢ÄÚÖú¯ÊýÃû¡¢sql±£Áô×Ö´óд¡£
2¡¢Á¬½Ó·ûor¡¢in¡¢and¡¢ÒÔ¼°£½¡¢<=¡¢>=µÈǰºó¼ÓÉÏÒ»¸ö¿Õ¸ñ¡£
3¡¢¶Ô½ÏΪ¸´ÔÓµÄsqlÓï¾ä¼ÓÉÏ×¢ÊÍ£¬ËµÃ÷Ëã·¨¡¢¹¦ÄÜ¡£
&nb ......