upsizing to sql 2005

G

Guest

I am using the upsizing tool to slq 2005 from access 2003. I have three
tables which use 100's of queries. Some if the primary keys to the three
tables may be the same. For example I have a storedata table, a fabric
table and a section table. In the storedata table the fabrics that go to
some of the queires will have the same extention like -dd and the same for
sections which are arms, headrest, etc.

Can I upsize one store at a time? How can I fix this problem?

Thanks
Dee
 
M

Michel Walsh

As far as the data is concerned, there should be no problem as long as the
table design is similar.

So, if your actual data is coherent under Jet, it will also be coherent
under MS SQL Server 2005, most probably.


A notable exception is that Jet allows multiple NULL under an index not
allowing duplicated values, while MS SQL Server 2005 only allows one row
with a NULL under the same design.


That does not mean that all your queries will be fine, though, due to many
difference between Jet and MS SQL Server... In fact, it is highly probable
that some queries won't be upgraded automatically (such as those implying a
crosstab, among others), or those using VBA functions.



Vanderghast, Access MVP
 
G

Guest

How can I fix thist kind of problems? I am running into problem where it
stops at the same query every time and I do not know what the problem is. Is
there any documentation I can view that would tell me what to look for? Is
there anything I need to be running that would check the database before
upsizing it?

Thanks
Dee
 
M

Michel Walsh

If the upsizer cannot convert a Jet-query to an MS SQL-query, you have to do
it by hand, in the end of the process. As example, if your query uses a VBA
function, like Nz, then you have to change it for COALESCE; etc. It is a
case-by-case job. If you have a, one, but specific problem at that step, you
can use the newsgroup to ask what can be done ! for a very *specific*
problem, that is.

So, do the most that can be done, automatically, and in the end, add the
required 'manual' touch.



Vanderghast, Access MVP
 
G

Guest

Michel,

I ran this again and it looks like everything updated, but when I look at
the adp file it stoped at the same point every time.

Here is an idea of what I am getting:

Upsizing Wizard Report
1Database
Microsoft Access Database: C:\database\BizChair-2.mdb
SQL Server Database: BizChair-2SQL
Upsizing Parameters
Table Attributes to Export
Indexes Table relationships:
Validation rules Upsized using DRI
Defaults
Structure only, no Timestamp fields added:
No tables
Modifications to Existing Database
Attach newly created Save password and
SQL Server tables user ID with attached
tables
Client/Server Modifications
Create a new Access Save password and
client/server user ID with
application. application


then this happens:


Query Name: Chicago Textile - CT
Upsized using SQL:
CREATE FUNCTION "Chicago Textile - CT" ()
RETURNS TABLE
AS RETURN (SELECT TOP 100 PERCENT StoreData.*
FROM StoreData
WHERE (((StoreData.id) Like '%-CT'))
ORDER BY StoreData.id)
Query Name: Chicago Textile - FLW
Upsized using SQL:
CREATE FUNCTION "Chicago Textile - FLW" ()
RETURNS TABLE
AS RETURN (SELECT TOP 100 PERCENT FabricsData.*
FROM FabricsData
WHERE (((FabricsData.id) Like '%-CT'))
ORDER BY FabricsData.id)
Query Name: Chicago Textile - Sections
Upsized using SQL:
CREATE FUNCTION "Chicago Textile - Sections" ()
RETURNS TABLE
AS RETURN (SELECT TOP 100 PERCENT SectionData.*
FROM SectionData
WHERE (((SectionData.id) Like '%-CT'))
ORDER BY SectionData.id)
Query Name: ChildBrite - FLW
Upsized using SQL:
CREATE FUNCTION "ChildBrite - FLW" ()
RETURNS TABLE
AS RETURN (SELECT TOP 100 PERCENT FabricsData.*
FROM FabricsData
WHERE (((FabricsData.id) Like '%-CB'))
ORDER BY FabricsData.id)
Query Name: ChildBrite - CB
Upsized using SQL:
CREATE FUNCTION "ChildBrite - CB" ()
RETURNS TABLE
AS RETURN (SELECT TOP 100 PERCENT StoreData.*
FROM StoreData
WHERE (((StoreData.id) Like '%-CB'))
ORDER BY StoreData.id)
- 40 - 18-Oct-07

Query Name: Children's Factory - CHF
This query is not upsizeable
CREATE FUNCTION "ChildBrite - CB" ()
RETURNS TABLE
AS RETURN (SELECT TOP 100 PERCENT StoreData.*
FROM StoreData
WHERE (((StoreData.id) Like '%-CB'))
ORDER BY StoreData.id)
Query Name: Choice Furnishings - FLW
This query is not upsizeable
CREATE FUNCTION "ChildBrite - CB" ()
RETURNS TABLE
AS RETURN (SELECT TOP 100 PERCENT StoreData.*
FROM StoreData
WHERE (((StoreData.id) Like '%-CB'))
ORDER BY StoreData.id)
Query Name: Choice Furnishings Inc - CFI
This query is not upsizeable
CREATE FUNCTION "ChildBrite - CB" ()
RETURNS TABLE
AS RETURN (SELECT TOP 100 PERCENT StoreData.*
FROM StoreData
WHERE (((StoreData.id) Like '%-CB'))
ORDER BY StoreData.id)

It continues and never populates the adp after that, but it seems data went
into the sql server because the records for all tables are the same for
access and sql.

I am using alot of queries and cross queries. Do not know what to fix this
problem.

Thanks
Dee
 
M

Michel Walsh

The Cross queries (crosstab queries, you mean) are not upsizeable to MS SQL
Server. While SQL from MS SQL Server 2005 has some PIVOTing capabilities, it
cannot match the capabilities of Jet, such as not having an IN clause in the
PIVOT statement. You will have to re-write all those.


For queries like:
Query Name: Children's Factory - CHF
This query is not upsizeable


Since, it seems, we don't have the JET-SQL statement, it is hard to tell why
it cannot be upsized to MS SQL Server - SQL. *IF* the query is NOT a
crosstab, the most common kind of problem is that the query uses a VBA
function. It may also use SQL specific to JET. Edit each of these queries
within JET, then, assuming you have some high-end managing tool at your
disposition for MS SQL Server (other than Access), try to re-write the query
in MS SQL Server. The tool I personally use is the MS SQL Server Analyzer,
which is a kind of "debug immediate window", but for SQL statements. If you
are still unable to upsize one of these queries, you can always ask here,
query by query, if someone got an idea.



Hoping it may help,
Vanderghast, Access MVP
 
G

Guest

What I do not understand then, is why did these work and it stoped there:

Here is an example that is in the earlier part of the upsizing:


Query Name: Arcadia - ARC
Upsized using SQL:
CREATE FUNCTION "Arcadia - ARC" ()
RETURNS TABLE
AS RETURN (SELECT TOP 100 PERCENT StoreData.*
FROM StoreData
WHERE (((StoreData.id) Like '%-ARC'))
ORDER BY StoreData.id)
Query Name: Arcadia - FLW
Upsized using SQL:
CREATE FUNCTION "Arcadia - FLW" ()
RETURNS TABLE
AS RETURN (SELECT TOP 100 PERCENT FabricsData.*
FROM FabricsData
WHERE (((FabricsData.id) Like '%-ARC'))
ORDER BY FabricsData.id)
Query Name: Arcadia - Sections
Upsized using SQL:
CREATE FUNCTION "Arcadia - Sections" ()
RETURNS TABLE
AS RETURN (SELECT TOP 100 PERCENT SectionData.*
FROM SectionData
WHERE (((SectionData.id) Like '%-ARC'))
ORDER BY SectionData.id)

What is the difference here?

Thanks
Dee
 
G

Guest

Michel,

I am not sure how to fix the rest. We are currently using the access
database on the yahoo webserver and it gets worked on all day and updated
several times a day on the server.

If you or some one could explain to me how to fix this I will have the web
content people start making their changes, while I make the sql changes. I
just do not know what to fix and how to fix it.

Thanks
Dee
 
M

Michel Walsh

Update only the data portion. In your Access application, as an-mdb, not as
an adp, then link to the tables in the MS SQL Server (using the same name
you were using in your Jet queries and elsewhere in your application) and
your application should continue to work (with its Jet-queries, on linked
table).


You then have time to migrate manually your queries, if required, since your
application and the data, in the database, are working fine.


Hoping it may help,
Vanderghast, Access MVP
 
G

Guest

Are you stating to upsize the database using the link option? Will this
still have the access front end, because we do not want to train the web
content developers sql. We would like for them to view and populate the
tables and queries the same way they do now.

Thank you
Dee
 
M

Michel Walsh

Basically, yes, the front end can still be in Access with a back end not
another mdb file, but MS SQL Server. I am not sure about Access-Web thing,
though, but as far as 'plain' Access is involved, yes. That is another
(simpler) possibility than to move to an adp file...


Hoping it may help,
Vanderghast, Access MVP
 
G

Guest

Can any point me in the right direction for documention on manually
converting crosstab queries once I have upsized data from access 2003 to sql
2005.

Thank you
Dee
 
G

Guest

Thank Michel.

I had tried that and it seems to work with no errors. In this manner the
web content people will not have to learn anything different is that so?

Again Thank you
Dee
 
M

Michel Walsh

I have no idea about the web content, neither how it is implemented in your
case.


Vanderghast, Access MVP
 
M

Michel Walsh

In MS SQL Server, you can use a CASE construction to replace a crosstab:

SELECT f1, f2,
SUM(CASE pivotField WHEN value1 THEN fieldToSum ELSE 0 ) As value1,
SUM(CASE pivotField WHEN value2 THEN fieldToSum ELSE 0 ) As value2,
SUM(CASE pivotField WHEN value3 THEN fieldToSum ELSE 0 ) As value3
FROM somewhere
GROUP BY f1, f2


is equivalent to what your would wrote, with Jet, as:
\
TRANSFORM SUM(fieldToSum)
SELECT f1, f2
FROM somewhere
GROUP BY f1, f2
PIVOT pivotField IN (value1, value2, value3)



I would not really bother with the PIVOT clause of MS SQL Server 2005.



Vanderghast, Access MVP
 
G

Guest

When I speak of web content, these are the people who put the information in
the access database. Our web site is currently hosted on yahoo. The access
database is hugh and we are also upsizing for security reason.

So what I mean was the the people who input the information into the
database can still do this from access and it will populate to sql is that
correct?

Thank you
Dee
 
M

Michel Walsh

I don't know how they do it from the web, so I cannot pronounce myself on
any web-part or involving the web, sorry, but from an Access application,
yes. Access can store data in an mdb or in other (updateable) data source,
which include MS SQL Server linked table.

Vanderghast, Access MVP
 
G

Guest

If I upsize using the link option in Access 2003, when I input new data into
the database where is this done from Access or SQL?

Thank you
Dee
 
M

Michel Walsh

It can be done FROM Access as well as from any other ODBC source, but it
will be stored INTO the MS SQL Server database.



Vanderghast, Access MVP
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top