I have just downloaded and tried the mssql module.
My Configuration is:
- Windows 7 Ultimate with IIS 7.5
- PHP 5.2.10 (as 5.3 won't work now) configured as Fast-CGI
- SQL Server 2008 SP1
So my first question is: Why do I need a working mysql database in order to be able to use the mssql module?
Second (as I do not want to install mysql) I have tried to use the mssql module directly.
I can see Silverstripe connecting to the database, but when it tries to execute the first create table command, the php-cgi.exe crashes.
The command it tries to execute looks like this:
CREATE TABLE "TrackBackPing" ( "ID" int(11) not null auto_increment, "ClassName" enum('TrackBackPing') character set utf8 collate utf8_general_ci default 'TrackBackPing', "Created" datetime, "LastEdited" datetime, "Title" varchar(50) character set utf8 collate utf8_general_ci, "Excerpt" mediumtext character set utf8 collate utf8_general_ci, "Url" varchar(50) character set utf8 collate utf8_general_ci, "BlogName" varchar(50) character set utf8 collate utf8_general_ci, "PageID" int(11) not null default '0', primary key ("ID") );
but the correct way of creating this table should look like:
CREATE TABLE dbo.TrackBackPing ( ID bigint IDENTITY(1,1) NOT NULL, ClassName nvarchar(50) NOT NULL DEFAULT 'TrackBackPing', Created datetime NULL, LastEdited datetime NULL, Title nvarchar(50) NULL, Excerpt nvarchar(max) NULL, Url nvarchar(50) NULL, BlogName nvarchar(50) NULL, PageID bigint NOT NULL DEFAULT 0, CONSTRAINT PK_TrackBackPing PRIMARY KEY CLUSTERED (ID), CONSTRAINT CHK_ValidEntriesForClassName CHECK (ClassName IN ('TrackBackPing' COLLATE Latin1_General_CS_AS)) )
And as far as I can see, there's a fair amount of differences between the two statements.
So did I miss anything? Are there any options I need to set on the sql server side?