/* * SSMA error messages: * A2SS0058:
Following SQL statement is not supported and
cannot be converted: * * SELECT
DISTINCTROW EMPLOYEES.EmployeeNo, EMPLOYEES.FirstName,
EMPLOYEES.LastName, EMPLOYEES.DateOfBirth, EMPLOYEES.DateEmployed *
FROM EMPLOYEES * WHERE ((EMPLOYEES.DateOfBirth)>#1/1/1970#); * */
PRINT 'ERROR: SSMA failed to convert the previous statement.'
日期在数据库中是很常见的,所以这个疏忽将会影响大多数数据库转换。但要解决并不困难,如下:
SELECT EmployeeNo, FirstName, LastName,
DateOfBirth FROM dbo.EMPLOYEES WHERE (DateOfBirth >
CONVERT(DATETIME, '1970-01-01'))
ALTER TABLE [dbo].[NAMES] ADD CONSTRAINT [SSMA_CC$NAMES$Title$validation_rule] CHECK (In ('Mr.','Mrs.','Miss','Ms','Dr.','Prof.'))这不仅不能在架构转载到SQL Server时运行,同时更不能产生一个错误消息。最后一行的正确语法应该是:CHECK (Title In ('Mr.','Mrs.','Miss','Ms','Dr.','Prof.'))