I am using sql 2000 (mdb) with linked tables on SQL 2000. I need to
use views to limit users records, instead of direct table access. I
setup a single talbe view in sql and tested update and inserting the
view using query analyzer. But when I add that view as a "linked"
table in access (windows db security dsn-less). Access does not allow
me to edit the data from view. Table has Pk have tried indexing view
but we use several ntext fields which does not work for clustered
index
Have tried creating view "with schemabinding" and "with viewmetadata"
Can not get this to work. Is it the lack of index on view?
REATE VIEW dbo.vuCIRSFILTE R
AS
SELECT SoldTo, CIRSID, FLNumber, CustomerIDNumbe r, CustomerName,
CustomerAddress , City, State, ZIP, ContactName, ContactPhone,
ContactCell,
OnSiteContact, ContactEmail, OnSitePhone,
OnSiteCellPage, OnSiteEmail, SalesRep, Division, PM,
InstallUpgradeD ate, Notes, RFASID, RFASIDVers,
RFATrans, PBXSystemType, PBXVersion,
PBXDialUpModem, PBXPassword, PBXLoginID, VoiceMailSystem Type,
VoiceMailVersio n,
VoiceMailDialUp Modem, VoiceMailLoginI D,
VoicemailPasswo rd, CMSSystemType, CMSVersion, CMSDialUpModem,
CMSLoginID, CMSPassword,
MAPD, MAPDDialup, MAPDLogin, MAPDPassword,
CTIInformation, CSUDSUSystemTyp e, CSUDSUVersion, CSUDSUDialUpMod em,
CSUDSULoginID,
CSUDSUPassword, AdditionalEquip ment,
PWMContract, SupportNotes, OE, CREATED_BY_USER , CREATED_ON_DATE ,
MODIFIED_ON_DAT E,
MODIFIED_BY_USE R
FROM dbo.tblCIRSMain
WHERE (CREATED_BY_USE R = 'company\auser' )
Thanks
CREATE TABLE [dbo].[tblCIRSMain] (
[SoldTo] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NOT
NULL ,
[CIRSID] [int] IDENTITY (1, 1) NOT NULL ,
[FLNumber] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL
,
[CustomerIDNumbe r] [nvarchar] (50) COLLATE
SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[CustomerName] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[CustomerAddress] [nvarchar] (50) COLLATE
SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[City] [nvarchar] (25) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[State] [nvarchar] (2) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[ZIP] [nvarchar] (15) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[ContactName] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[ContactPhone] [nvarchar] (20) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[ContactCell] [nvarchar] (255) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[ContactEmail] [nvarchar] (255) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[OnSiteContact] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[OnSitePhone] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[OnSiteCellPage] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[OnSiteEmail] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[SalesRep] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL
,
[Division] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL
,
[PM] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[InstallUpgradeD ate] [datetime] NULL ,
[Notes] [ntext] COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[RFASID] [nvarchar] (255) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[RFASIDVers] [nvarchar] (255) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[RFATrans] [nvarchar] (255) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL
,
[PBXSystemType] [nvarchar] (25) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[PBXVersion] [nvarchar] (10) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[PBXDialUpModem] [nvarchar] (20) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[PBXLoginID] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[PBXPassword] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[VoiceMailSystem Type] [nvarchar] (25) COLLATE
SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[VoiceMailVersio n] [nvarchar] (10) COLLATE
SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[VoiceMailDialUp Modem] [nvarchar] (20) COLLATE
SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[VoiceMailLoginI D] [nvarchar] (50) COLLATE
SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[VoicemailPasswo rd] [nvarchar] (50) COLLATE
SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[CMSSystemType] [nvarchar] (25) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[CMSVersion] [nvarchar] (10) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[CMSDialUpModem] [nvarchar] (20) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[CMSLoginID] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[CMSPassword] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[MAPD] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[MAPDDialup] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[MAPDLogin] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL
,
[MAPDPassword] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[CTIInformation] [ntext] COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[CSUDSUSystemTyp e] [nvarchar] (25) COLLATE
SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[CSUDSUVersion] [nvarchar] (10) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[CSUDSUDialUpMod em] [nvarchar] (20) COLLATE
SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[CSUDSULoginID] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[CSUDSUPassword] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[AdditionalEquip ment] [ntext] COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[PWMContract] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[SupportNotes] [ntext] COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[OE] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[upsize_ts] [timestamp] NULL ,
[CREATED_BY_USER] [nvarchar] (50) COLLATE
SQL_Latin1_Gene ral_CP1_CI_AS NOT NULL ,
[CREATED_ON_DATE] [datetime] NOT NULL ,
[MODIFIED_ON_DAT E] [datetime] NULL ,
[MODIFIED_BY_USE R] [nvarchar] (50) COLLATE
SQL_Latin1_Gene ral_CP1_CI_AS NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
CREATE UNIQUE CLUSTERED INDEX [CIRS_SOLDTO] ON
[dbo].[tblCIRSMain]([SoldTo]) WITH FILLFACTOR = 90 ON [PRIMARY]
GO
ALTER TABLE [dbo].[tblCIRSMain] ADD
CONSTRAINT [DF_tblCIRSMain_ (suser_sname())] DEFAULT (suser_sname())
FOR [CREATED_BY_USER],
CONSTRAINT [DF_tblCIRSMain_ CIRSRowCreateDa te] DEFAULT (getdate()) FOR
[CREATED_ON_DATE],
CONSTRAINT [DF_tblCIRSMain_ CIRSRowModUser] DEFAULT ('') FOR
[MODIFIED_BY_USE R],
CONSTRAINT [aaaaatblCIRSMai n_PK] PRIMARY KEY NONCLUSTERED
(
[SoldTo]
) WITH FILLFACTOR = 90 ON [PRIMARY]
GO
CREATE INDEX [CMSLoginID] ON [dbo].[tblCIRSMain]([CMSLoginID]) WITH
FILLFACTOR = 90 ON [PRIMARY]
GO
CREATE INDEX [CSU/DSULoginID] ON
[dbo].[tblCIRSMain]([CSUDSULoginID]) WITH FILLFACTOR = 90 ON
[PRIMARY]
GO
CREATE INDEX [PBXLoginID] ON [dbo].[tblCIRSMain]([PBXLoginID]) WITH
FILLFACTOR = 90 ON [PRIMARY]
GO
CREATE INDEX [RFASID] ON [dbo].[tblCIRSMain]([RFASID]) WITH
FILLFACTOR = 90 ON [PRIMARY]
GO
CREATE INDEX [VoiceMailLoginI D] ON
[dbo].[tblCIRSMain]([VoiceMailLoginI D]) WITH FILLFACTOR = 90 ON
[PRIMARY]
GO
CREATE INDEX [ix_ILNumber] ON [dbo].[tblCIRSMain]([FLNumber]) WITH
FILLFACTOR = 90 ON [PRIMARY]
GO
use views to limit users records, instead of direct table access. I
setup a single talbe view in sql and tested update and inserting the
view using query analyzer. But when I add that view as a "linked"
table in access (windows db security dsn-less). Access does not allow
me to edit the data from view. Table has Pk have tried indexing view
but we use several ntext fields which does not work for clustered
index
Have tried creating view "with schemabinding" and "with viewmetadata"
Can not get this to work. Is it the lack of index on view?
REATE VIEW dbo.vuCIRSFILTE R
AS
SELECT SoldTo, CIRSID, FLNumber, CustomerIDNumbe r, CustomerName,
CustomerAddress , City, State, ZIP, ContactName, ContactPhone,
ContactCell,
OnSiteContact, ContactEmail, OnSitePhone,
OnSiteCellPage, OnSiteEmail, SalesRep, Division, PM,
InstallUpgradeD ate, Notes, RFASID, RFASIDVers,
RFATrans, PBXSystemType, PBXVersion,
PBXDialUpModem, PBXPassword, PBXLoginID, VoiceMailSystem Type,
VoiceMailVersio n,
VoiceMailDialUp Modem, VoiceMailLoginI D,
VoicemailPasswo rd, CMSSystemType, CMSVersion, CMSDialUpModem,
CMSLoginID, CMSPassword,
MAPD, MAPDDialup, MAPDLogin, MAPDPassword,
CTIInformation, CSUDSUSystemTyp e, CSUDSUVersion, CSUDSUDialUpMod em,
CSUDSULoginID,
CSUDSUPassword, AdditionalEquip ment,
PWMContract, SupportNotes, OE, CREATED_BY_USER , CREATED_ON_DATE ,
MODIFIED_ON_DAT E,
MODIFIED_BY_USE R
FROM dbo.tblCIRSMain
WHERE (CREATED_BY_USE R = 'company\auser' )
Thanks
CREATE TABLE [dbo].[tblCIRSMain] (
[SoldTo] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NOT
NULL ,
[CIRSID] [int] IDENTITY (1, 1) NOT NULL ,
[FLNumber] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL
,
[CustomerIDNumbe r] [nvarchar] (50) COLLATE
SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[CustomerName] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[CustomerAddress] [nvarchar] (50) COLLATE
SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[City] [nvarchar] (25) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[State] [nvarchar] (2) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[ZIP] [nvarchar] (15) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[ContactName] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[ContactPhone] [nvarchar] (20) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[ContactCell] [nvarchar] (255) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[ContactEmail] [nvarchar] (255) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[OnSiteContact] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[OnSitePhone] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[OnSiteCellPage] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[OnSiteEmail] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[SalesRep] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL
,
[Division] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL
,
[PM] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[InstallUpgradeD ate] [datetime] NULL ,
[Notes] [ntext] COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[RFASID] [nvarchar] (255) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[RFASIDVers] [nvarchar] (255) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[RFATrans] [nvarchar] (255) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL
,
[PBXSystemType] [nvarchar] (25) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[PBXVersion] [nvarchar] (10) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[PBXDialUpModem] [nvarchar] (20) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[PBXLoginID] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[PBXPassword] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[VoiceMailSystem Type] [nvarchar] (25) COLLATE
SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[VoiceMailVersio n] [nvarchar] (10) COLLATE
SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[VoiceMailDialUp Modem] [nvarchar] (20) COLLATE
SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[VoiceMailLoginI D] [nvarchar] (50) COLLATE
SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[VoicemailPasswo rd] [nvarchar] (50) COLLATE
SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[CMSSystemType] [nvarchar] (25) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[CMSVersion] [nvarchar] (10) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[CMSDialUpModem] [nvarchar] (20) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[CMSLoginID] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[CMSPassword] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[MAPD] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[MAPDDialup] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[MAPDLogin] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL
,
[MAPDPassword] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[CTIInformation] [ntext] COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[CSUDSUSystemTyp e] [nvarchar] (25) COLLATE
SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[CSUDSUVersion] [nvarchar] (10) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[CSUDSUDialUpMod em] [nvarchar] (20) COLLATE
SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[CSUDSULoginID] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[CSUDSUPassword] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[AdditionalEquip ment] [ntext] COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[PWMContract] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS
NULL ,
[SupportNotes] [ntext] COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[OE] [nvarchar] (50) COLLATE SQL_Latin1_Gene ral_CP1_CI_AS NULL ,
[upsize_ts] [timestamp] NULL ,
[CREATED_BY_USER] [nvarchar] (50) COLLATE
SQL_Latin1_Gene ral_CP1_CI_AS NOT NULL ,
[CREATED_ON_DATE] [datetime] NOT NULL ,
[MODIFIED_ON_DAT E] [datetime] NULL ,
[MODIFIED_BY_USE R] [nvarchar] (50) COLLATE
SQL_Latin1_Gene ral_CP1_CI_AS NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
CREATE UNIQUE CLUSTERED INDEX [CIRS_SOLDTO] ON
[dbo].[tblCIRSMain]([SoldTo]) WITH FILLFACTOR = 90 ON [PRIMARY]
GO
ALTER TABLE [dbo].[tblCIRSMain] ADD
CONSTRAINT [DF_tblCIRSMain_ (suser_sname())] DEFAULT (suser_sname())
FOR [CREATED_BY_USER],
CONSTRAINT [DF_tblCIRSMain_ CIRSRowCreateDa te] DEFAULT (getdate()) FOR
[CREATED_ON_DATE],
CONSTRAINT [DF_tblCIRSMain_ CIRSRowModUser] DEFAULT ('') FOR
[MODIFIED_BY_USE R],
CONSTRAINT [aaaaatblCIRSMai n_PK] PRIMARY KEY NONCLUSTERED
(
[SoldTo]
) WITH FILLFACTOR = 90 ON [PRIMARY]
GO
CREATE INDEX [CMSLoginID] ON [dbo].[tblCIRSMain]([CMSLoginID]) WITH
FILLFACTOR = 90 ON [PRIMARY]
GO
CREATE INDEX [CSU/DSULoginID] ON
[dbo].[tblCIRSMain]([CSUDSULoginID]) WITH FILLFACTOR = 90 ON
[PRIMARY]
GO
CREATE INDEX [PBXLoginID] ON [dbo].[tblCIRSMain]([PBXLoginID]) WITH
FILLFACTOR = 90 ON [PRIMARY]
GO
CREATE INDEX [RFASID] ON [dbo].[tblCIRSMain]([RFASID]) WITH
FILLFACTOR = 90 ON [PRIMARY]
GO
CREATE INDEX [VoiceMailLoginI D] ON
[dbo].[tblCIRSMain]([VoiceMailLoginI D]) WITH FILLFACTOR = 90 ON
[PRIMARY]
GO
CREATE INDEX [ix_ILNumber] ON [dbo].[tblCIRSMain]([FLNumber]) WITH
FILLFACTOR = 90 ON [PRIMARY]
GO
Comment