Discussion:
Upsized tables problem
(too old to reply)
John
2009-06-22 18:04:54 UTC
Permalink
Hi

I have upsized an Access 97 database to sql server 2008 using Microsoft SQL
Server Migration Assistant 2008 for Access. Migrated tables were linked to
the Access 97 database front end by the Assistant. Most of the tables have
migrated fine. However, a handful of tables when opened in access give the
error 'ODBC--call failed' and all fields show #Name? as values. What is the
problem and how can I fix it?

Thanks

Regards
Tony Toews [MVP]
2009-06-23 02:34:03 UTC
Permalink
Post by John
I have upsized an Access 97 database to sql server 2008 using Microsoft SQL
Server Migration Assistant 2008 for Access. Migrated tables were linked to
the Access 97 database front end by the Assistant. Most of the tables have
migrated fine. However, a handful of tables when opened in access give the
error 'ODBC--call failed' and all fields show #Name? as values. What is the
problem and how can I fix it?
Some possibilities might be to ensure those tables have a primary key
and RowVersion aka TimeStamp field specified.

Can you open up those tables in the Management Tools and does the
layout look reasonable and are there records in the table?

Tony
--
Tony Toews, Microsoft Access MVP
Tony's Main MS Access pages - http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Granite Fleet Manager http://www.granitefleet.com/
John
2009-06-23 15:18:57 UTC
Permalink
PK is there and I undid and redid it just to be sure. Records are all in and
seem to be OK in cursory browsing in Management Studio. All tables have
thousands of records so hard to check all manually.

Thanks

Regards
Post by Tony Toews [MVP]
Post by John
I have upsized an Access 97 database to sql server 2008 using Microsoft SQL
Server Migration Assistant 2008 for Access. Migrated tables were linked to
the Access 97 database front end by the Assistant. Most of the tables have
migrated fine. However, a handful of tables when opened in access give the
error 'ODBC--call failed' and all fields show #Name? as values. What is the
problem and how can I fix it?
Some possibilities might be to ensure those tables have a primary key
and RowVersion aka TimeStamp field specified.
Can you open up those tables in the Management Tools and does the
layout look reasonable and are there records in the table?
Tony
--
Tony Toews, Microsoft Access MVP
Tony's Main MS Access pages - http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Granite Fleet Manager http://www.granitefleet.com/
Rick Byham, MSFT
2009-06-23 15:37:37 UTC
Permalink
Anything in common for the problem tables? Do the tables share an unusual
data type?
--
Rick Byham, MSFT
(Implies no warranty or rights)
Post by John
PK is there and I undid and redid it just to be sure. Records are all in
and seem to be OK in cursory browsing in Management Studio. All tables
have thousands of records so hard to check all manually.
Thanks
Regards
Post by Tony Toews [MVP]
Post by John
I have upsized an Access 97 database to sql server 2008 using Microsoft SQL
Server Migration Assistant 2008 for Access. Migrated tables were linked to
the Access 97 database front end by the Assistant. Most of the tables have
migrated fine. However, a handful of tables when opened in access give the
error 'ODBC--call failed' and all fields show #Name? as values. What is the
problem and how can I fix it?
Some possibilities might be to ensure those tables have a primary key
and RowVersion aka TimeStamp field specified.
Can you open up those tables in the Management Tools and does the
layout look reasonable and are there records in the table?
Tony
--
Tony Toews, Microsoft Access MVP
Tony's Main MS Access pages - http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Granite Fleet Manager http://www.granitefleet.com/
John
2009-06-23 15:51:45 UTC
Permalink
The table is upsized form Access so has the usual odd field names like Date
(!), yeah I know but front-end access app took 12 years to build and can't
change this easy in app. Table create script is below;

Thanks

Regards

/****** Object: Table [dbo].[Event Staff Payroll Alterations] Script
Date: 06/23/2009 16:47:11 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[Event Staff Payroll Alterations](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Group Sort] [int] NULL,
[Item Sort] [int] NULL,
[User] [varchar](50) NULL,
[Group] [varchar](50) NULL,
[Extra2] [varchar](50) NULL,
[Tick] [bit] NULL,
[DropDown1] [varchar](50) NULL,
[DropDown2] [varchar](50) NULL,
[Reprimand] [varchar](50) NULL,
[Fine] [float] NULL,
[Fee] [float] NULL,
[Date] [datetime] NULL,
[Event ID] [int] NULL,
[Staff ID] [int] NULL,
[Group Filter] [varchar](50) NULL,
[Marker] [bit] NULL,
[Notes] [varchar](max) NULL,
[CurrentReprimandFlag] [varchar](50) NULL,
[SSMA_TimeStamp] [timestamp] NOT NULL,
CONSTRAINT [PK_Event Staff Payroll Alterations] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =
OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0)) FOR
[Group Sort]
GO

ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0)) FOR
[Item Sort]
GO

ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0)) FOR
[Tick]
GO

ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0)) FOR
[Fine]
GO

ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0)) FOR
[Fee]
GO

ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT
(CONVERT([datetime],CONVERT([varchar],getdate(),(1)),(1))) FOR [Date]
GO

ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0)) FOR
[Event ID]
GO

ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0)) FOR
[Staff ID]
GO

ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0)) FOR
[Marker]
GO
Post by Rick Byham, MSFT
Anything in common for the problem tables? Do the tables share an unusual
data type?
--
Rick Byham, MSFT
(Implies no warranty or rights)
Post by John
PK is there and I undid and redid it just to be sure. Records are all in
and seem to be OK in cursory browsing in Management Studio. All tables
have thousands of records so hard to check all manually.
Thanks
Regards
Post by Tony Toews [MVP]
Post by John
I have upsized an Access 97 database to sql server 2008 using Microsoft SQL
Server Migration Assistant 2008 for Access. Migrated tables were linked to
the Access 97 database front end by the Assistant. Most of the tables have
migrated fine. However, a handful of tables when opened in access give the
error 'ODBC--call failed' and all fields show #Name? as values. What is the
problem and how can I fix it?
Some possibilities might be to ensure those tables have a primary key
and RowVersion aka TimeStamp field specified.
Can you open up those tables in the Management Tools and does the
layout look reasonable and are there records in the table?
Tony
--
Tony Toews, Microsoft Access MVP
Tony's Main MS Access pages - http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Granite Fleet Manager http://www.granitefleet.com/
Tony Toews [MVP]
2009-06-24 07:18:41 UTC
Permalink
Post by John
[Marker] [bit] NULL,
I'm not very familiar with SQL Server however I do have vague memories
of SQL Server/Access not liking bit fields with nulls in them. And
the answer is to change that to in integer field.

But I sure could be wrong on that. And my memories are that the
symptoms were different. Ah, you're still using Access 97.
Anything's possible then.

There is at least one other bit field that I noticed in that table.


Tony
--
Tony Toews, Microsoft Access MVP
Tony's Main MS Access pages - http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Granite Fleet Manager http://www.granitefleet.com/
Armen Stein
2009-06-26 14:58:36 UTC
Permalink
On Wed, 24 Jun 2009 01:18:41 -0600, "Tony Toews [MVP]"
Post by Tony Toews [MVP]
I'm not very familiar with SQL Server however I do have vague memories
of SQL Server/Access not liking bit fields with nulls in them. And
the answer is to change that to in integer field.
We use SmallInt for all yes/no fields. It handles 0, -1.

But if you can't change them, then simply adding the Timestamp (aka
RowVersion) to each SQL table will resolve record concurrency problems
too. This is mentioned in other posts in this thread.

I also cover it in my slideshow on techniques for using Access as a
client-server front-end to SQL Server databases. It's called "Best of
Both Worlds" at www.JStreetTech.com/Downloads. It includes some
thoughts on when to use SQL Server, performance and security
considerations, concurrency approaches, and techniques to help
everything run smoothly.

Armen Stein
Microsoft Access MVP
www.JStreetTech.com
Tony Toews [MVP]
2009-07-01 02:28:32 UTC
Permalink
Post by Armen Stein
I also cover it in my slideshow on techniques for using Access as a
client-server front-end to SQL Server databases. It's called "Best of
Both Worlds" at www.JStreetTech.com/Downloads. It includes some
thoughts on when to use SQL Server, performance and security
considerations, concurrency approaches, and techniques to help
everything run smoothly.
Armen

Let me be blunt. <smile> I hate watching videos and slide shows with
voice overs. Give me text with graphics as I can get through that
about ten times as fast.

Tony
--
Tony Toews, Microsoft Access MVP
Tony's Main MS Access pages - http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Granite Fleet Manager http://www.granitefleet.com/
Armen Stein
2009-07-01 23:53:52 UTC
Permalink
On Tue, 30 Jun 2009 20:28:32 -0600, "Tony Toews [MVP]"
Post by Tony Toews [MVP]
Let me be blunt. <smile> I hate watching videos and slide shows with
voice overs. Give me text with graphics as I can get through that
about ten times as fast.
No Tony, let ME be blunt. Maybe even blunter. :)

My "slideshow" is merely a PowerPoint show (.PPS). No video, no
voice. You even have to advance the slides yourself, as quickly as
you want. You can handle it.

You do need PowerPoint though, or on the off-chance you don't have it,
the free PowerPoint viewer:
http://www.microsoft.com/downloads/details.aspx?familyid=048DC840-14E1-467D-8DCA-19D2A8FD7485&displaylang=en


Armen Stein
Microsoft Access MVP
www.JStreetTech.com
Tony Toews [MVP]
2009-07-04 02:27:44 UTC
Permalink
Post by Armen Stein
On Tue, 30 Jun 2009 20:28:32 -0600, "Tony Toews [MVP]"
Post by Tony Toews [MVP]
Let me be blunt. <smile> I hate watching videos and slide shows with
voice overs. Give me text with graphics as I can get through that
about ten times as fast.
No Tony, let ME be blunt. Maybe even blunter. :)
My "slideshow" is merely a PowerPoint show (.PPS). No video, no
voice. You even have to advance the slides yourself, as quickly as
you want. You can handle it.
Ahhh, that's ok. I assumed there was voice overs or some such.

Tony
--
Tony Toews, Microsoft Access MVP
Tony's Main MS Access pages - http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Granite Fleet Manager http://www.granitefleet.com/
Rick Byham, MSFT
2009-06-24 17:43:54 UTC
Permalink
I thought I might see float data types. Float is an inexact data type. Sort
of like scientific notation. Access sometimes asks what a value is. Let's
say they get 3.3333333333 from a float data type. Then Access checks later
to see if that row with the value 3.3333333333 exists. And it doesn't,
because the value isn't really 3.3333333333, that's just an approximate of
the value.
To see if that's your problem, pick a better data type for those values.
For example: [Fine] [float] NULL and [Fee] [float] NULL should probably be
the money data type.
Create a sample table [Event Staff Payroll AlterationsTEST] changing those
float columns to money, and move the data into it by using
INSERT INTO [dbo].[Event Staff Payroll AlterationsTEST]
(
[ID],
[Group Sort],
[Item Sort],
[User],
[Group],
[Extra2],
[Tick],
[DropDown1],
[DropDown2],
[Reprimand],
[Fine],
[Fee],
[Date],
[Event ID],
[Staff ID],
[Group Filter],
[Marker],
[Notes],
[CurrentReprimandFlag],
[SSMA_TimeStamp]
)
SELECT * FROM [dbo].[Event Staff Payroll Alterations];
--
Rick Byham, MSFT
(Implies no warranty or rights)
Post by John
The table is upsized form Access so has the usual odd field names like
Date (!), yeah I know but front-end access app took 12 years to build and
can't change this easy in app. Table create script is below;
Thanks
Regards
/****** Object: Table [dbo].[Event Staff Payroll Alterations] Script
Date: 06/23/2009 16:47:11 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Event Staff Payroll Alterations](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Group Sort] [int] NULL,
[Item Sort] [int] NULL,
[User] [varchar](50) NULL,
[Group] [varchar](50) NULL,
[Extra2] [varchar](50) NULL,
[Tick] [bit] NULL,
[DropDown1] [varchar](50) NULL,
[DropDown2] [varchar](50) NULL,
[Reprimand] [varchar](50) NULL,
[Fine] [float] NULL,
[Fee] [float] NULL,
[Date] [datetime] NULL,
[Event ID] [int] NULL,
[Staff ID] [int] NULL,
[Group Filter] [varchar](50) NULL,
[Marker] [bit] NULL,
[Notes] [varchar](max) NULL,
[CurrentReprimandFlag] [varchar](50) NULL,
[SSMA_TimeStamp] [timestamp] NOT NULL,
CONSTRAINT [PK_Event Staff Payroll Alterations] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =
OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0)) FOR
[Group Sort]
GO
ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0)) FOR
[Item Sort]
GO
ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0)) FOR
[Tick]
GO
ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0)) FOR
[Fine]
GO
ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0)) FOR
[Fee]
GO
ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT
(CONVERT([datetime],CONVERT([varchar],getdate(),(1)),(1))) FOR [Date]
GO
ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0)) FOR
[Event ID]
GO
ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0)) FOR
[Staff ID]
GO
ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0)) FOR
[Marker]
GO
Post by Rick Byham, MSFT
Anything in common for the problem tables? Do the tables share an unusual
data type?
--
Rick Byham, MSFT
(Implies no warranty or rights)
Post by John
PK is there and I undid and redid it just to be sure. Records are all in
and seem to be OK in cursory browsing in Management Studio. All tables
have thousands of records so hard to check all manually.
Thanks
Regards
Post by Tony Toews [MVP]
Post by John
I have upsized an Access 97 database to sql server 2008 using Microsoft SQL
Server Migration Assistant 2008 for Access. Migrated tables were linked to
the Access 97 database front end by the Assistant. Most of the tables have
migrated fine. However, a handful of tables when opened in access give the
error 'ODBC--call failed' and all fields show #Name? as values. What is the
problem and how can I fix it?
Some possibilities might be to ensure those tables have a primary key
and RowVersion aka TimeStamp field specified.
Can you open up those tables in the Management Tools and does the
layout look reasonable and are there records in the table?
Tony
--
Tony Toews, Microsoft Access MVP
Tony's Main MS Access pages - http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Granite Fleet Manager http://www.granitefleet.com/
John
2009-06-25 20:59:40 UTC
Permalink
Hi Rick

No luck. I linked the tables with Access 2000 and it worked fine. Seems
solution is to move front-end access app from Access97 to a later version.

Thanks again

Regards
Post by Rick Byham, MSFT
I thought I might see float data types. Float is an inexact data type.
Sort of like scientific notation. Access sometimes asks what a value is.
Let's say they get 3.3333333333 from a float data type. Then Access checks
later to see if that row with the value 3.3333333333 exists. And it
doesn't, because the value isn't really 3.3333333333, that's just an
approximate of the value.
To see if that's your problem, pick a better data type for those values.
For example: [Fine] [float] NULL and [Fee] [float] NULL should probably be
the money data type.
Create a sample table [Event Staff Payroll AlterationsTEST] changing those
float columns to money, and move the data into it by using
INSERT INTO [dbo].[Event Staff Payroll AlterationsTEST]
(
[ID],
[Group Sort],
[Item Sort],
[User],
[Group],
[Extra2],
[Tick],
[DropDown1],
[DropDown2],
[Reprimand],
[Fine],
[Fee],
[Date],
[Event ID],
[Staff ID],
[Group Filter],
[Marker],
[Notes],
[CurrentReprimandFlag],
[SSMA_TimeStamp]
)
SELECT * FROM [dbo].[Event Staff Payroll Alterations];
--
Rick Byham, MSFT
(Implies no warranty or rights)
Post by John
The table is upsized form Access so has the usual odd field names like
Date (!), yeah I know but front-end access app took 12 years to build
and can't change this easy in app. Table create script is below;
Thanks
Regards
/****** Object: Table [dbo].[Event Staff Payroll Alterations] Script
Date: 06/23/2009 16:47:11 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Event Staff Payroll Alterations](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Group Sort] [int] NULL,
[Item Sort] [int] NULL,
[User] [varchar](50) NULL,
[Group] [varchar](50) NULL,
[Extra2] [varchar](50) NULL,
[Tick] [bit] NULL,
[DropDown1] [varchar](50) NULL,
[DropDown2] [varchar](50) NULL,
[Reprimand] [varchar](50) NULL,
[Fine] [float] NULL,
[Fee] [float] NULL,
[Date] [datetime] NULL,
[Event ID] [int] NULL,
[Staff ID] [int] NULL,
[Group Filter] [varchar](50) NULL,
[Marker] [bit] NULL,
[Notes] [varchar](max) NULL,
[CurrentReprimandFlag] [varchar](50) NULL,
[SSMA_TimeStamp] [timestamp] NOT NULL,
CONSTRAINT [PK_Event Staff Payroll Alterations] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =
OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0))
FOR [Group Sort]
GO
ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0))
FOR [Item Sort]
GO
ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0))
FOR [Tick]
GO
ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0))
FOR [Fine]
GO
ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0))
FOR [Fee]
GO
ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT
(CONVERT([datetime],CONVERT([varchar],getdate(),(1)),(1))) FOR [Date]
GO
ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0))
FOR [Event ID]
GO
ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0))
FOR [Staff ID]
GO
ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0))
FOR [Marker]
GO
Post by Rick Byham, MSFT
Anything in common for the problem tables? Do the tables share an
unusual data type?
--
Rick Byham, MSFT
(Implies no warranty or rights)
Post by John
PK is there and I undid and redid it just to be sure. Records are all
in and seem to be OK in cursory browsing in Management Studio. All
tables have thousands of records so hard to check all manually.
Thanks
Regards
Post by Tony Toews [MVP]
Post by John
I have upsized an Access 97 database to sql server 2008 using Microsoft SQL
Server Migration Assistant 2008 for Access. Migrated tables were linked to
the Access 97 database front end by the Assistant. Most of the tables have
migrated fine. However, a handful of tables when opened in access give the
error 'ODBC--call failed' and all fields show #Name? as values. What is the
problem and how can I fix it?
Some possibilities might be to ensure those tables have a primary key
and RowVersion aka TimeStamp field specified.
Can you open up those tables in the Management Tools and does the
layout look reasonable and are there records in the table?
Tony
--
Tony Toews, Microsoft Access MVP
Tony's Main MS Access pages - http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Granite Fleet Manager http://www.granitefleet.com/
Eric Isaacs
2009-06-26 18:40:02 UTC
Permalink
Post by John
No luck. I linked the tables with Access 2000 and it worked fine. Seems
solution is to move front-end access app from Access97 to a later version.
I would suggest Access 2003 or 2007 over Access 2000. Access 97 was a
great version, but 2000 not so much. Access 2003 will connect to SQL
Server 2008 just fine. You may want to change some of those default
data types that it selected, however.

Change the BIT columns to SMALLINT columns, if they are being used for
checkboxes in the front-end application.
I believe Access 2003 will handle the VARCHAR(MAX) data type, but test
it. You might need to specify a limiting size such as VARCHAR(8000)
for those columns or use the TEXT datatype instead for those columns.
The TEXT datatype has been deprecated, but it might be your best
option with Access 2000 or 2003 for compatibility reasons.

Eric Isaacs
J Street Technology, Inc.
http://www.jstreettech.com
Eric Isaacs
2009-06-24 19:20:33 UTC
Permalink
 [Date] [datetime] NULL,
 [Notes] [varchar](max) NULL,
VARCHAR(MAX) was introduced in SQL Server 2005. I'm not sure if it's
compatible with Access 97. Consider changing that field to the
datatype of TEXT instead and using a compatibility mode for SQL 2000
instead of 2008 for the database in SQL Server 2008.

Any references for the Date column should have brackets around them
[Date] in all of your SQL and code.

-Eric Isaacs
J Street Technology, Inc.
www.jstreettech.com
John
2009-06-23 15:53:20 UTC
Permalink
Second table, very similar.

/****** Object: Table [dbo].[Event Staff Payroll Alterations 2] Script
Date: 06/23/2009 16:52:25 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[Event Staff Payroll Alterations 2](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Group Sort] [int] NULL,
[Item Sort] [int] NULL,
[User] [varchar](50) NULL,
[Group] [varchar](50) NULL,
[Extra2] [varchar](50) NULL,
[Tick] [bit] NULL,
[DropDown1] [varchar](50) NULL,
[DropDown2] [varchar](50) NULL,
[Receipt] [bit] NULL,
[Fine] [float] NULL,
[Fee] [float] NULL,
[Date] [datetime] NULL,
[Event ID] [int] NULL,
[Staff ID] [int] NULL,
[Group Filter] [varchar](50) NULL,
[Notes] [varchar](max) NULL,
[CurrentReprimandFlag] [varchar](50) NULL,
[SSMA_TimeStamp] [timestamp] NOT NULL,
CONSTRAINT [PK_Event Staff Payroll Alterations 2] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =
OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

ALTER TABLE [dbo].[Event Staff Payroll Alterations 2] WITH NOCHECK ADD
CONSTRAINT [SSMA_CC$Event Staff Payroll Alterations 2$Group
Filter$disallow_zero_length] CHECK ((len([Group Filter])>(0)))
GO

ALTER TABLE [dbo].[Event Staff Payroll Alterations 2] CHECK CONSTRAINT
[SSMA_CC$Event Staff Payroll Alterations 2$Group
Filter$disallow_zero_length]
GO

ALTER TABLE [dbo].[Event Staff Payroll Alterations 2] ADD DEFAULT ((0)) FOR
[Group Sort]
GO

ALTER TABLE [dbo].[Event Staff Payroll Alterations 2] ADD DEFAULT ((0)) FOR
[Item Sort]
GO

ALTER TABLE [dbo].[Event Staff Payroll Alterations 2] ADD DEFAULT ((0)) FOR
[Tick]
GO

ALTER TABLE [dbo].[Event Staff Payroll Alterations 2] ADD DEFAULT ((0)) FOR
[Receipt]
GO

ALTER TABLE [dbo].[Event Staff Payroll Alterations 2] ADD DEFAULT ((0)) FOR
[Fine]
GO

ALTER TABLE [dbo].[Event Staff Payroll Alterations 2] ADD DEFAULT ((0)) FOR
[Fee]
GO

ALTER TABLE [dbo].[Event Staff Payroll Alterations 2] ADD DEFAULT
(CONVERT([datetime],CONVERT([varchar],getdate(),(1)),(1))) FOR [Date]
GO

ALTER TABLE [dbo].[Event Staff Payroll Alterations 2] ADD DEFAULT ((0)) FOR
[Event ID]
GO

ALTER TABLE [dbo].[Event Staff Payroll Alterations 2] ADD DEFAULT ((0)) FOR
[Staff ID]
GO
Post by Rick Byham, MSFT
Anything in common for the problem tables? Do the tables share an unusual
data type?
--
Rick Byham, MSFT
(Implies no warranty or rights)
Post by John
PK is there and I undid and redid it just to be sure. Records are all in
and seem to be OK in cursory browsing in Management Studio. All tables
have thousands of records so hard to check all manually.
Thanks
Regards
Post by Tony Toews [MVP]
Post by John
I have upsized an Access 97 database to sql server 2008 using Microsoft SQL
Server Migration Assistant 2008 for Access. Migrated tables were linked to
the Access 97 database front end by the Assistant. Most of the tables have
migrated fine. However, a handful of tables when opened in access give the
error 'ODBC--call failed' and all fields show #Name? as values. What is the
problem and how can I fix it?
Some possibilities might be to ensure those tables have a primary key
and RowVersion aka TimeStamp field specified.
Can you open up those tables in the Management Tools and does the
layout look reasonable and are there records in the table?
Tony
--
Tony Toews, Microsoft Access MVP
Tony's Main MS Access pages - http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Granite Fleet Manager http://www.granitefleet.com/
John
2009-06-23 15:43:48 UTC
Permalink
Time stamp as below on all tables.

[SSMA_TimeStamp] [timestamp] NOT NULL,
Post by John
PK is there and I undid and redid it just to be sure. Records are all in
and seem to be OK in cursory browsing in Management Studio. All tables
have thousands of records so hard to check all manually.
Thanks
Regards
Post by Tony Toews [MVP]
Post by John
I have upsized an Access 97 database to sql server 2008 using Microsoft SQL
Server Migration Assistant 2008 for Access. Migrated tables were linked to
the Access 97 database front end by the Assistant. Most of the tables have
migrated fine. However, a handful of tables when opened in access give the
error 'ODBC--call failed' and all fields show #Name? as values. What is the
problem and how can I fix it?
Some possibilities might be to ensure those tables have a primary key
and RowVersion aka TimeStamp field specified.
Can you open up those tables in the Management Tools and does the
layout look reasonable and are there records in the table?
Tony
--
Tony Toews, Microsoft Access MVP
Tony's Main MS Access pages - http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Granite Fleet Manager http://www.granitefleet.com/
Mary Chipman [MSFT]
2009-06-23 23:36:00 UTC
Permalink
It's possible that the problem is with the Access FE, not SQL Server,
if you are using Access 97 as the front-end for the linked tables.
Access 97 isn't supported any more -- you should upgrade to Access
2007 to get the most bang for your buck. Here's a couple of online
resources that may help:

Migration Considerations for Access 2007
http://technet.microsoft.com/en-us/library/cc178973.aspx

Optimizing Microsoft Office Access Applications Linked to SQL Server
http://msdn.microsoft.com/en-us/library/bb188204.aspx

--Mary
Post by John
Hi
I have upsized an Access 97 database to sql server 2008 using Microsoft SQL
Server Migration Assistant 2008 for Access. Migrated tables were linked to
the Access 97 database front end by the Assistant. Most of the tables have
migrated fine. However, a handful of tables when opened in access give the
error 'ODBC--call failed' and all fields show #Name? as values. What is the
problem and how can I fix it?
Thanks
Regards
Rick Byham, MSFT
2009-06-24 17:48:29 UTC
Permalink
I thought I might see float data types. Float is an inexact data type. Sort
of like scientific notation. Access sometimes asks what a value is. Let's
say they get 3.3333333333 from a float data type. Then Access checks later
to see if that row with the value 3.3333333333 exists. And it doesn't,
because the value isn't really 3.3333333333, that's just an approximate of
the value.
To see if that's your problem, pick a better data type for those values.
For example: [Fine] [float] NULL and [Fee] [float] NULL should probably be
the money data type.
Create a sample table [Event Staff Payroll AlterationsTEST] changing those
float columns to money, and move the data into it by using
INSERT INTO [dbo].[Event Staff Payroll AlterationsTEST]
(
[ID],
[Group Sort],
[Item Sort],
[User],
[Group],
[Extra2],
[Tick],
[DropDown1],
[DropDown2],
[Reprimand],
[Fine],
[Fee],
[Date],
[Event ID],
[Staff ID],
[Group Filter],
[Marker],
[Notes],
[CurrentReprimandFlag],
[SSMA_TimeStamp]
)
SELECT * FROM [dbo].[Event Staff Payroll Alterations];


--
Rick Byham, MSFT
(Implies no warranty or rights)
Post by John
The table is upsized form Access so has the usual odd field names like
Date (!), yeah I know but front-end access app took 12 years to build
and can't change this easy in app. Table create script is below;
Thanks
Regards
/****** Object: Table [dbo].[Event Staff Payroll Alterations] Script
Date: 06/23/2009 16:47:11 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Event Staff Payroll Alterations](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Group Sort] [int] NULL,
[Item Sort] [int] NULL,
[User] [varchar](50) NULL,
[Group] [varchar](50) NULL,
[Extra2] [varchar](50) NULL,
[Tick] [bit] NULL,
[DropDown1] [varchar](50) NULL,
[DropDown2] [varchar](50) NULL,
[Reprimand] [varchar](50) NULL,
[Fine] [float] NULL,
[Fee] [float] NULL,
[Date] [datetime] NULL,
[Event ID] [int] NULL,
[Staff ID] [int] NULL,
[Group Filter] [varchar](50) NULL,
[Marker] [bit] NULL,
[Notes] [varchar](max) NULL,
[CurrentReprimandFlag] [varchar](50) NULL,
[SSMA_TimeStamp] [timestamp] NOT NULL,
CONSTRAINT [PK_Event Staff Payroll Alterations] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =
OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0))
FOR [Group Sort]
GO
ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0))
FOR [Item Sort]
GO
ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0))
FOR [Tick]
GO
ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0))
FOR [Fine]
GO
ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0))
FOR [Fee]
GO
ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT
(CONVERT([datetime],CONVERT([varchar],getdate(),(1)),(1))) FOR [Date]
GO
ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0))
FOR [Event ID]
GO
ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0))
FOR [Staff ID]
GO
ALTER TABLE [dbo].[Event Staff Payroll Alterations] ADD DEFAULT ((0))
FOR [Marker]
GO
Post by Rick Byham, MSFT
Anything in common for the problem tables? Do the tables share an
unusual data type?
--
Rick Byham, MSFT
(Implies no warranty or rights)
Post by John
PK is there and I undid and redid it just to be sure. Records are all
in and seem to be OK in cursory browsing in Management Studio. All
tables have thousands of records so hard to check all manually.
Thanks
Regards
Post by Tony Toews [MVP]
Post by John
I have upsized an Access 97 database to sql server 2008 using
Microsoft SQL
Server Migration Assistant 2008 for Access. Migrated tables were
linked to
the Access 97 database front end by the Assistant. Most of the tables
have
migrated fine. However, a handful of tables when opened in access give
the
error 'ODBC--call failed' and all fields show #Name? as values. What
is the
problem and how can I fix it?
Some possibilities might be to ensure those tables have a primary key
and RowVersion aka TimeStamp field specified.
Can you open up those tables in the Management Tools and does the
layout look reasonable and are there records in the table?
Tony
--
Tony Toews, Microsoft Access MVP
Tony's Main MS Access pages - http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Granite Fleet Manager http://www.granitefleet.com/
Albert D. Kallal
2009-06-25 23:37:59 UTC
Permalink
Post by John
Hi
I have upsized an Access 97 database to sql server 2008 using Microsoft
SQL Server Migration Assistant 2008 for Access. Migrated tables were
linked to the Access 97 database front end by the Assistant. Most of the
tables have migrated fine. However, a handful of tables when opened in
access give the error 'ODBC--call failed' and all fields show #Name? as
values. What is the problem and how can I fix it?
Thanks
Regards
Another thing to check is which sql driver are you using?

there is:

SQL Server
and
SQL Server Native Client 10.0 --


Try the standard SQL driver....it tends to be less problems especially with
date columns.
--
Albert D. Kallal (Access MVP)
Edmonton, Alberta Canada
***@msn.com
John
2009-06-26 07:55:17 UTC
Permalink
Hi Albert

Used SQL Server..no luck. Solution seems to be to use a later version of
access than 97.

Thanks

Regards
Post by Albert D. Kallal
Post by John
Hi
I have upsized an Access 97 database to sql server 2008 using Microsoft
SQL Server Migration Assistant 2008 for Access. Migrated tables were
linked to the Access 97 database front end by the Assistant. Most of the
tables have migrated fine. However, a handful of tables when opened in
access give the error 'ODBC--call failed' and all fields show #Name? as
values. What is the problem and how can I fix it?
Thanks
Regards
Another thing to check is which sql driver are you using?
SQL Server
and
SQL Server Native Client 10.0 --
Try the standard SQL driver....it tends to be less problems especially
with date columns.
--
Albert D. Kallal (Access MVP)
Edmonton, Alberta Canada
Sylvain Lafontaine
2009-06-27 19:52:19 UTC
Permalink
After a quick look, it's probably the « [Notes] [varchar](max) NULL » field
that's hurting you. Replace it with the type TEXT instead of varchar(max)
if you want to keep using A97 and possibly/probably you'll be OK.
--
Sylvain Lafontaine, ing.
MVP - Windows Live Platform
Email: sylvain2009 sylvainlafontaine com (fill the blanks, no spam please)
Independent consultant and remote programming for Access and SQL-Server
(French)
Post by John
Hi
I have upsized an Access 97 database to sql server 2008 using Microsoft
SQL Server Migration Assistant 2008 for Access. Migrated tables were
linked to the Access 97 database front end by the Assistant. Most of the
tables have migrated fine. However, a handful of tables when opened in
access give the error 'ODBC--call failed' and all fields show #Name? as
values. What is the problem and how can I fix it?
Thanks
Regards
Loading...