此包的最新版本(2.0.3)没有可用的许可信息。

为SilverStripe添加MSSQL支持

安装次数: 7,774

依赖项: 0

建议者: 0

安全: 0

星标: 15

关注者: 13

分支: 25

公开问题: 8

类型:silverstripe-vendormodule

2.0.3 2021-01-15 02:53 UTC

This package is auto-updated.

Last update: 2024-09-15 10:48:12 UTC


README

允许SilverStripe使用SQL Server数据库。

Build status

维护者联系方式

  • Sean Harvey(昵称:halkyon) <sean (at) silverstripe (dot) com>

  • Damian Mooyman (@tractorcow)

要求

  • SilverStripe 4+
  • SQL Server 2008、2008 R2或2012。

mssql PHP API从2.0版本开始不再受支持

*nix

Linux支持仅通过PDO扩展提供。这需要

Windows

在Windows上,您可以通过PDO或sqlsrv连接。这两种选项都需要SQL Server Driver for PHP。 "sqlsrv" 3.0+

注意:您还可以使用SQL Server Express,这是Microsoft免费提供的。然而,它有一些限制,例如最大数据库存储为10GB。

安装

以下步骤将使用Composer安装最新的SilverStripe稳定版本以及此模块

  • 安装SilverStripe: composer create-project silverstripe/installer /my/website/folder
  • 安装模块: cd /my/website/folder && composer require silverstripe/mssql ^2
  • 通过浏览到install.php打开SilverStripe安装程序,例如 http://localhost/silverstripe/install.php
  • 在数据库列表中选择SQL Server 2008+并输入您的SQL Server数据库详细信息

故障排除

问题:SQL Server位于远程主机(另一台机器)上,我无法从我的机器连接到它。

答案:请确保您已通过SQL Server Configuration Manager启用了TCP访问并打开防火墙端口

问题:我刚刚安装了SQL Server,但它说无法连接

答案:有时SQL Server将以非默认实例名称安装,例如“SQLExpress”而不是默认的“MSSQLSERVER”。如果是这种情况,您需要在设置PHP数据库配置中的服务器时声明实例名称。例如:(local)\SQLExpress。斜线前面的第一部分表示服务器主机,或IP地址。在这种情况下,(local)表示localhost,即PHP运行的服务器。第二部分是连接到的SQL Server实例名称。

问题:我在连接到SQL Server数据库时遇到Unicode SQL Server错误(例如,在仅Unicode排序规则中包含Unicode数据或在DB-Library(如ISQL)或ODBC版本3.7或更早版本中不能将ntext数据发送到客户端)

答案:如果您使用FreeTDS,请确保在freetds.conf中使用TDS版本8.0。如果在Windows上,请确保您使用SQL Server Driver for PHP而不是PHP提供的mssql驱动程序。

问题:使用FreeTDS我无法连接到我的SQL Server数据库。PHP中的错误说服务器不存在

答案:确保您在/etc/freetds/freetds.conf中有一个指向您的服务器的条目。例如

[myserver]
	host = myserver.mydomain.com
	port = 1433
	tds version = 8.0

然后您可以在连接数据库时使用 "myserver"(上方方括号内的部分)作为服务器名称。请注意,如果您正在运行Macports,该文件位于 /opt/local/etc/freetds/freetds.conf

另外,如果您不想继续在freetds.conf中添加更多条目以指定更多SQL Server位置,您可以使用完整的主机/IP和端口号组合,例如 "myserver:1433"(1433是默认的SQL Server端口),并确保在freetds.conf文件中全局设置 "tds version = 8.0"。

注意:编辑freetds.conf时请使用 制表符 而不是空格,否则它将无法加载您指定的配置!

注意:某些Linux发行版使用 SELinux,这可能会阻止对您的SQL Server数据库的访问。可能需要添加规则以允许此流量通过。