ruby
Rails提供了很好的My SQL支持,不须做任何配置,即可连接。但是,对于SQLServer的连接就比较烦琐。
下面将介绍一种采用Ruby-DBI 提供的一个ADO Driver来连接。
安装one -click installer 来安装ruby 的话就已经安装了所有连接SQL Server使用的需求包.但是,并没有安装ADO Driver.
这样来安装它:
1. 在Ruby目录下找到这个目录: \ruby\lib\ruby\site_ruby\1.8\DBD
例如:我的Ruby安装在D:\ruby中,所以是这个目录D:\ruby\lib\ruby\site_ruby\1.8\DBD
在该目录中创建一个ADO文件夹
2. 下载Ruby-DBI
3. 将lib/dbd_ado/ADO.rb文件拷贝到X:/ruby/lib/ruby/site_ruby/1.8/DBD/ADO/ADO.rb
patch x:\Ruby\lib\ruby\gems\1.8\gems\activerecord-1.10.1\lib\active_record\connection_adapters\sqlserver_adapter.rb 文件
SELECT COLUMN_NAME as... 改成
SELECT LOWER(COLUMN_NAME) as...
record[col] = row[col]改成record[col.downcase] = row[col]
在《Agile Web Development with Rails 》中 上边红色的部分是没有。
配置database.yml:
development:
adapter: sqlserver
database: database_name
host: server_name
username: user_name
password: your_pw_here
这样就可以连接上了.
通过以上修改的确可以连上并使用sql server数据库了,但如果使用“rake db:migrate”时你可能会碰到如下问题:
-- create_table("xxx_groups", {:force=>true})
rake aborted!
DBI::DatabaseError: Execute
OLE error code:80040E14 in Microsoft OLE DB Provider for SQL Server
第 3 个列或参数: 不能对数据类型 int 指定列宽度。
HRESULT error code:0x80020009
发生意外。: CREATE TABLE xxx_groups ([id] int NOT NULL IDENTITY(1, 1)
PRIMARY KEY, [built_in] bit DEFAULT 0 NOT NULL, [parent_id] int(11), [private_u
ser_id] int(11), [private_component_id] int(11), [name] varchar(192) DEFAULT ''
NOT NULL, [description] text DEFAULT '' NOT NULL, [created_on] datetime NOT NULL
, [updated_on] datetime NOT NULL)
从上面生成的sql可以看出问题的所在,int也定义了限制,在sql server中int的长度是固定的。
下面要继续修改sqlserver_adapter.rb文件
找到column_type_sql << "(#{limit})" if limit (rails 1.1.6版本在第477行)
改为
column_type_sql << "(#{limit})" if limit && native[:name]!="int"
原因sqlserver_adapter.rb自己在前面都说过了
# SQL Server only supports limits on *char and float types
这样 rake db:migrate也工作了。
BTW,
其实rails不是只在windows下才可以和sql server通信,在linux下和mac osx下也可以的,相关资源如下:
HowtoConnectToMicrosoftSQLServer
HowtoConnectToMicrosoftSQLServerFromRailsOnLinux
HowtoConnectToMicrosoftSQLServerFromRailsOnOSX
分享到:
相关推荐
主要介绍了Ruby连接使用windows下sql server数据库代码实例,本文直接给出实现代码,而且给出了两种实现和access数据库的实现代码,需要的朋友可以参考下
样本类别 端到端示例应用程序,这些示例应用程序说明了SQL ...这些示例显示了如何使用各种编程语言(包括Python,C#,F#,Java,Ruby,Node.js和PHP)连接到SQL数据库。 货柜 显示容器方案中各种SQL Server的示例。
activerecord-sqlserver-adapter-mirroring 一个简单的插件,它为添加了数据库镜像支持。 目标 Rails 4.1.x 和 activerecord-sqlserver-adapter 4.1.0。 用法 添加到 Gemfile: gem 'tiny_tds' gem '...
TinyTDS gem旨在满足使用FreeTDS的DB-Library API将结果从Ruby连接,查询和迭代到Microsoft SQL Server或Sybase数据库的极其普通的用例。 TinyTDS提供对Ruby原语的自动转换以及适当的编码支持。 它将所有SQL ...
准备: SQL.php连接中重复的客户端/ SQL connection.php.example文件调整数据库连接参数client / plateau.php:检查服务器正在运行的IP地址以进行websocket连接(例如:$ _SERVER ['SERVER_ADDR']) 执行
使用Docker来处理SQL Server数据库,而无需在计算机上进行安装。 关于Docker的一些解释 用其他语言阅读:, 想象一下,您正在工作或正在学习许多不同的技术,我的情况,有罪!!! 或我们中许多使用NodeJS , React ...
sqldbx连接db2必备 IBM 数据服务器客户机版本 11.5.0.0 。多合一版本包含各类驱动JDBC、ODBC、CLI等 IBM 数据服务器客户机是用于 DB2 数据服务器的一组客户机应用程序驱动程序和工具。它支持运行使用了嵌入式 SQL...
sqldbx连接db2必备 IBM 数据服务器客户机版本 11.5.0.0 。多合一版本包含各类驱动JDBC、ODBC、CLI等 IBM 数据服务器客户机是用于 DB2 数据服务器的一组客户机应用程序驱动程序和工具。它支持运行使用了嵌入式 SQL...
sqldbx连接db2必备 IBM 数据服务器客户机版本 11.5.0.0 。多合一版本包含各类驱动JDBC、ODBC、CLI等 IBM 数据服务器客户机是用于 DB2 数据服务器的一组客户机应用程序驱动程序和工具。它支持运行使用了嵌入式 SQL...
sqldbx连接db2必备 IBM 数据服务器客户机版本 11.5.0.0 。多合一版本包含各类驱动JDBC、ODBC、CLI等 IBM 数据服务器客户机是用于 DB2 数据服务器的一组客户机应用程序驱动程序和工具。它支持运行使用了嵌入式 SQL...
sqldbx连接db2必备 IBM 数据服务器客户机版本 11.5.0.0 。多合一版本包含各类驱动JDBC、ODBC、CLI等 IBM 数据服务器客户机是用于 DB2 数据服务器的一组客户机应用程序驱动程序和工具。它支持运行使用了嵌入式 SQL...
sqldbx连接db2必备 IBM 数据服务器客户机版本 11.5.0.0 。多合一版本包含各类驱动JDBC、ODBC、CLI等 IBM 数据服务器客户机是用于 DB2 数据服务器的一组客户机应用程序驱动程序和工具。它支持运行使用了嵌入式 SQL...
sqldbx连接db2必备 IBM 数据服务器客户机版本 11.5.0.0 。多合一版本包含各类驱动JDBC、ODBC、CLI等 IBM 数据服务器客户机是用于 DB2 数据服务器的一组客户机应用程序驱动程序和工具。它支持运行使用了嵌入式 SQL...
sqldbx连接db2必备 IBM 数据服务器客户机版本 11.5.0.0 。多合一版本包含各类驱动JDBC、ODBC、CLI等 IBM 数据服务器客户机是用于 DB2 数据服务器的一组客户机应用程序驱动程序和工具。它支持运行使用了嵌入式 SQL...
sqldbx连接db2必备 IBM 数据服务器客户机版本 11.5.0.0 。多合一版本包含各类驱动JDBC、ODBC、CLI等 IBM 数据服务器客户机是用于 DB2 数据服务器的一组客户机应用程序驱动程序和工具。它支持运行使用了嵌入式 SQL...
描述 提供用于部署Visual Studio数据库项目的数据库工具。... connection_string -SQL Server连接字符串。 示例:“数据源=本地主机;用户ID = sa;密码= ***;” database_name将在其中部署dacpac文件的数据库
sqldbx连接db2必备 IBM 数据服务器客户机版本 11.5.0.0 。多合一版本包含各类驱动JDBC、ODBC、CLI等 IBM 数据服务器客户机是用于 DB2 数据服务器的一组客户机应用程序驱动程序和工具。它支持运行使用了嵌入式 SQL...
sqldbx连接db2必备 IBM 数据服务器客户机版本 11.5.0.0 。多合一版本包含各类驱动JDBC、ODBC、CLI等 IBM 数据服务器客户机是用于 DB2 数据服务器的一组客户机应用程序驱动程序和工具。它支持运行使用了嵌入式 SQL...
第一步:运行ServerData.java 启动服务器,然后服务器处于等待状态 第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost 第三步:在登陆后的界面文本框输入文本,然后发送 可以同时启动...