Here is my code:
/*--
--
-- Cape Hatteras Adventures v.2 sample database - Populate
-- Paul Nielsen
-- this script will populate the CHA2 database
-- from CHA1_Customers.mdb Access file
-- and CHA1_Schedule.xls Excel Spreadsheet
-- using distributed queries
--
--
USE CHA2
-- establish Access Linked Server
EXECsp_DropServer @.server ='CHA1_Customers'
go
EXECsp_addlinkedserver
'CHA1_Customers',
'Access 2003',
'Microsoft.Jet.OLEDB.4.0',
'C:\SQLData\CHA1_Customers.mdb'
go
-- establish Excel Linked Server
EXECsp_DropServer @.server ='CHA1_Schedule'
go
Executesp_addlinkedserver
'CHA1_Schedule',
'Excel',
'Microsoft.Jet.OLEDB.4.0',
'C:\SQLData\CHA1_Schedule.xls',
NULL,
'Excel 5.0'
go
EXECsp_helpserver
-- Step 0: Initialize the Database
DELETE Customer
DELETE CustomerType
DELETE Event_mm_Customer
DELETE Event_mm_Guide
DELETE Tour_mm_Guide
DELETEEvent
DELETE Tour
DELETE BaseCamp
DELETE Guide
-- Step 1: Customer Types
SELECTDISTINCT CustomerType
FROM CHA1_Customers...Customers
WHERE CustomerType ISNOTNULL
INSERT CustomerType(Name)
SELECTDISTINCT CustomerType
FROM CHA1_Customers...Customers
WHERE CustomerType ISNOTNULL
SELECT*FROM CustomerType
-- Step 2: Customers
SELECTDISTINCT ContactLastName, ContactFirstName, CustomerType
FROM CHA1_Customers...Customers
WHERE ContactLastName ISNOTNULL
SELECT*FROM CustomerType
SELECT*FROM CHA1_Customers...Customers
INSERT Customer(LastName, FirstName, CustomerTypeID,Address,
City,Country, eMail, NickName,FirstTour, Medical)
SELECTDISTINCT ContactLastName, ContactFirstName, CustomerTypeID,BillingAddress,
City, Country, EMailAddress,NickName, FirstTour, HealthIssues
FROM CHA1_Customers...Customers C
LEFTOUTERJOIN CustomerType
ON C.CustomerType = CustomerType.[Name]
WHERE ContactLastName ISNOTNULL
SELECT*FROM Customer
-- Step 3: Base Camps
INSERT BaseCamp(Name)
SELECTDISTINCT [Base Camp]
FROM CHA1_Schedule...[Base_Camp]
WHERE [Base Camp] ISNOTNULL
SELECT*FROM BaseCamp
-- Step 4: Tours
INSERT Tour ([Name], BaseCampID)
SELECTDISTINCT Tour, BaseCampID
FROM CHA1_Schedule...Tour X
JOIN BaseCamp
ON X.[Base Camp] = BaseCamp.Name
WHERE Tour ISNOTNULL
SELECT*FROM Tour
-- Step 5: Guides
INSERT Guide(FirstName, LastName)
SELECTDISTINCT
LEFT([Lead Guide],CharIndex(' ', [Lead Guide])-1),
RIGHT([Lead Guide],Len([Lead Guide])-CharIndex(' ', [Lead Guide]))
FROM CHA1_Schedule...Lead_Guide
WHERE [Lead Guide] ISNOTNULL
SELECT*FROM Guide
-- Step 6: Events
SELECTDISTINCT*
FROM CHA1_Schedule...Event
SELECT*FROMEvent
INSERTEvent(TourID, DateBegin, Code)
SELECTDISTINCT Tour.TourID, [Date], EventCode
FROM CHA1_Schedule...Event X
JOIN Tour
ON X.Tour = Tour.Name
-- Step 7: Event_mm_Customer
SELECT*FROM Event_mm_Customer
INSERT Event_mm_Customer(CustomerID, EventID)
SELECTDISTINCT Customer.CustomerID, Event.EventID
FROM CHA1_Schedule...Customer X
JOIN Customer
ON X.LastName = Customer.LastName
AND X.FirstName = Customer.FirstName
JOINEvent
ON X.EventCode = Event.Code
-- Step 8: Event_mm_Guide
SELECT*FROM Event_mm_Guide
INSERT Event_mm_Guide(EventID, GuideID, IsLead)
SELECTDISTINCT Event.EventID, Guide.GuideID, 1
FROM CHA1_Schedule...Event X
JOIN Guide
ON X.[Lead Guide] = Guide.FirstName +' '+ Guide.LastName
JOINEvent
ON X.EventCode = Event.Code
-- Step 9: Tour_mm_Guide
INSERT Tour_mm_Guide (TourID, GuideID, QualDate)
SELECTDISTINCT Tour.TourID, Event_mm_Guide.GuideID,'1/1/2000'
FROM Tour
JOINEvent
ON Event.TourID = Tour.TourID
JOIN Event_mm_Guide
ON Event.EventID = Event_mm_Guide.EventID
SELECT*FROM Tour_mm_Guide
Select*from vTableRowCount
-*/
Here is my error: What's happeniing here?
/*--
OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "CHA1_Customers" returned message "Cannot start your application. The workgroup information file is missing or opened exclusively by another user.".
Msg 7399, Level 16, State 1, Line 16
The OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "CHA1_Customers" reported an error. Authentication failed.
Msg 7303, Level 16, State 1, Line 16
Cannot initialize the data source object of OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "CHA1_Customers".
*/
It looks like your Access db is opened in exclusive mode and/or the userid/password you're providing are incorrect.
No comments:
Post a Comment