http://www.knowsky.com/15882.html
Seeing others sometimes asking this question. . So I summed up the idea of the seniors in the top of the top priority, take sharing:
After the database is imported, the automatic adding fields need to be override, and all digital types need to increase the length, and it is best to use DECIMAL.
All default values are lost. Mainly a digital type and date type.
All now (), time (), date () is changed to getDate ().
All Datediff ('D', Time1, Time2) is changed to Datediff (Day, Time1, Time2)
It is possible that some True / false type cannot be used, to be 1/0.
Remarks Type To use Cast (Column as varchar).
CURSORTYPE is changed to 1, which is to give the first numerical parameter 1 when opening the database, otherwise the record may display incomplete.
Isnail (Rowname) to change to rowname = null
When the automatic number type in the Access database is transformed, SQL Server does not set it to an automatic number, we need to add Identity in SQL creation statements, indicate the automatic number!
When transformation, the field related to the date, SQL Server defaults to the SmallDateTime type, we'd better turn it into a DateTime type because the range of the DateTime is larger than the SmallDateTime. Sometimes the transformation fails when using a SmallDateTime type, and uses a DateTime type to transform success.
The SQL statement for this two databases is not all, for example: "Delete * from user where id = 10" is deleted when deleting records: "Delete User Where) when deleting records for the Access database ID = 10 ".
The date function is different. In the Access database processing, Date (), time () can be used, but in the SQL Server database processing, you can only use DateDiff, DateAdd, etc., but cannot use Date (), TIME () Waques.
In the Access database processing, some VB functions can be used directly in the SQL statement, such as the CSTR () function, but cannot be used in SQL Server database processing.