using new data types in 2008
DESCRIPTION
Using New Data Types in 2008. Andrew Couch UK Access User Group www.ukaug.co.uk ASC associates www.upsizing.co.uk. Flow of Presentation. Data types and products Share Point : Access & SQL Server SQL Server : Access & Visual Studio SQL Server New Data Types - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/1.jpg)
Using New Data Types in 2008
Andrew CouchUK Access User Groupwww.ukaug.co.ukASC associateswww.upsizing.co.uk
![Page 2: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/2.jpg)
Flow of Presentation
Data types and products Share Point : Access & SQL Server SQL Server : Access & Visual Studio SQL Server New Data Types Updating Data & Multi-user Issues Summary
![Page 3: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/3.jpg)
Why are we interested in Data Types?
What we do with data Exchange
Converting and exchanging data between products Applications that present data
Linking applications to back-end data sources Applications that maintain data
updating data with applications linked to back-end data source
![Page 4: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/4.jpg)
Which Products will we consider?
Products Access
Application and data source SQL Server
data source and application components, also report services
Share Point Application and data source (SQL Server)
Visual Studio Application
![Page 5: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/5.jpg)
What Data Types do the Products support?
Access (2007)
GUIDMulti-value fields
Share Point (2003)see next slide
SQL Server (2008)Visual Studio (2005/8)
n prefix for Unicode
![Page 6: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/6.jpg)
Share Point (2003)
![Page 7: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/7.jpg)
Share Point under the hood
Data is held in the AllUserData table which has a generic set of fields,nvarchar1,nvarchar2......Text1,Text2.........
![Page 8: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/8.jpg)
Access to Share PointData Types; MOSS
![Page 9: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/9.jpg)
Access (2007) & Share Point Attachments (share point lists) Multi-value fields (share point lists)
![Page 10: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/10.jpg)
Share Point a Data/Object Model; WSS
http://msdn2.microsoft.com/en-us/library/ms480101.aspx
![Page 11: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/11.jpg)
Access to SQL Server Data Type Mappings
Yes/No (boolean) : bit Access True -1, SQL Server True 1; also SQL
Server boolean is tri-state 0, 1 and NULL Text : varchar or nvarchar or char or nchar Date/Time : datetime Currency : money Autonumber : int (identity property) OLE Object : image, varbinary, filestream Memo : text or varchar(max) Number : various mappings
![Page 12: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/12.jpg)
Access Yes/No Data
![Page 13: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/13.jpg)
Yes/No (without a default)Translated To SQL Server
![Page 14: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/14.jpg)
Access Memo and OLE Data Types
![Page 15: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/15.jpg)
Access Using SQL Server IMAGE and TEXT Data Types
![Page 16: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/16.jpg)
Visual Studio Editing Records in DetailsView; issues with Text Data Type
![Page 17: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/17.jpg)
Visual Studio and Image/OLE Data issues with Image Data Type
![Page 18: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/18.jpg)
Access & SQL server Varchar(max) and Varbinary(max)
![Page 19: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/19.jpg)
Visual Studio DetailsView now works for Updates when using Varchar(max)
![Page 20: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/20.jpg)
Visual Studio, Images and OLE still a problem with Varbinary(max)
some people would suggest that image data should not directly held in the database and instead a text link is used to point to an external image file which works around this issue
![Page 21: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/21.jpg)
Mini-summary
Access to SQL Server MEMO to VARCHAR(max) or TEXT, probably
TEXT safer bet but VARCHAR(max) more flexible
OLE to IMAGE or VARBINARY(max), FILESTREAM ?
Visual Studio VARCHAR(max) a better choice OLE/IMAGE data doesn’t work for bound
controls
![Page 22: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/22.jpg)
SQL Server (2005)
XML data type office requires program code using new SQL
Native Client drivers to manipulate this
varchar(max), nvarchar(max) advantages for programmers as can use as a
variable (not possible with older text data type) varbinary(max)
![Page 23: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/23.jpg)
Date & Time Data IBM DB2
DATE, TIME and TIMESTAMP date range 0001-01-01 to 9999-12-31 Oracle
DATE (includes time), TIMESTAMP, date range January 1 4713 BC to 9999-12-31
SQL Server (2000/2005) DATETIME, SMALLDATETIME, date range 1753-01-01 to 9999-12-
31 for DATETIME, when no date given defaults to 1st January 1900 Access – DATE/TIME
date range 1-1-100 to 9999-12-31,when no date given defaults to 30th December 1899 and hides date
SQL Server (2008) DATE, TIME,DATETIME2, DATETIMEOFFSET range 0001-01-01
00:00:00:0000000 to 9999-12-31 23:59:59:9999999
![Page 24: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/24.jpg)
Access allowing Updates to new Date and Time Data Types
![Page 25: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/25.jpg)
Searching
some limitations where fields are strings
![Page 26: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/26.jpg)
Controlling Time Precision
![Page 27: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/27.jpg)
SQL Server (2008) Filestream
Unstructured large object data DATE and TIME
Dates from 01/01/0001 to 31/12/9999 Times accurate to 00:00:00:0000000
DATETIME2 and DATEOFFSET New combined date and time data types with higher accuracy,
Combines above, offset type includes time-zone data HIERARCHYID
Optimised for data hierarchies (special functions) GEORGRAPHY and GEOMETRY
.NET-based spatial data First deals with round-earth co-ordinates, second uses a flat-earth
style of co-ordinates Special functions
![Page 28: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/28.jpg)
Geography
It comes as no surprise that this renders in a binary type format and you can’t edit it
Stored procedures and pass through queries to the rescue!
![Page 29: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/29.jpg)
With a little Magic
![Page 30: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/30.jpg)
Geography Methods
![Page 31: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/31.jpg)
Timestamps & Multiple Users
SQL Server
Overwritedata when changed
Optimisticrow versioning
Timestampchecking
Visual Studio does not utilise timestamps on bound controls the new LINQ will support
timestamp concurrency
![Page 32: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/32.jpg)
Access Row Versioning & Timestamps
Row VersioningSQLExecDirect: UPDATE "dbo"."authors" SET "au_fname"=? WHERE "au_id" = ? AND "au_lname" = ? AND "au_fname" = ? AND "phone" = ? AND "address" = ? AND "city" = ? AND "state" = ? AND "zip" = ? AND "contract" = ?
TimestampsSQLExecDirect: UPDATE "dbo"."authors" SET "au_fname"=? WHERE "au_id" = ? AND "ts" = ?
Timestamps improve efficiency and remove potential problems with rounding errors in numerical data
![Page 33: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/33.jpg)
Example Visual Studio Update handling Null Values
UpdateCommand = "UPDATE [Customers] SET [CustomerID] = @CustomerID, [CompanyName] = @CompanyName, [ContactName] = @ContactName, [ContactTitle] = @ContactTitle, [Address] = @Address, [City] = @City, [Region] = @Region, [PostalCode] = @PostalCode, [Country] = @Country, [Phone] = @Phone, [Fax] = @Fax WHERE [CustomerID] = @original_CustomerID AND [CompanyName] = @original_CompanyName AND COALESCE([ContactName],'') = COALESCE(@original_ContactName,'') AND COALESCE([ContactTitle],'') = COALESCE(@original_ContactTitle,'') AND COALESCE([Address],'') = COALESCE(@original_Address,'') AND COALESCE([City],'') = COALESCE(@original_City,'') AND COALESCE([Region],'') = COALESCE(@original_Region,'') AND COALESCE([PostalCode],'') = COALESCE(@original_PostalCode,'') AND COALESCE([Country],'') = COALESCE(@original_Country,'') AND COALESCE([Phone],'') = COALESCE(@original_Phone,'') AND COALESCE([Fax],'') = COALESCE(@original_Fax,'')"
![Page 34: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/34.jpg)
Summary
We have a diverse set of data types in the different products
Need to test data types for product compatibility, don’t forget different versions and drivers can have an impact
Access and Share Point very good compatibility Access and SQL Server good compatibility Share Point data easily exported and linked MOSS
but WSS more difficult Please, Please can I have a nice tree presentation for
XML data, then I may be tempted to use it!!!!!! SQL Server 2008 new data types hold great promise,
and it will possible to do a lot with then in Office 2007
![Page 35: Using New Data Types in 2008](https://reader036.vdocument.in/reader036/viewer/2022062410/5681632f550346895dd3acf5/html5/thumbnails/35.jpg)
ASC Associates
Software consultancy specialising in Access, SQL Server and .net applications
Migration Upsizing SQL Tool MUST
upsizes Access databases to SQL Server MUST+SQL
converts Access queries to views and stored procedures MUST+Web
converts Access forms to web forms in Visual Studio projects
www.upsizing.co.uk [email protected]