27. maj 2010 - 09:28Der er
12 kommentarer og 1 løsning
Trække data ind fra andre Databaser
Jeg opretter en ny Access database hvor jeg skal trække data fra en SQL database samt selv oprette nogle kolonner hvor jeg har skriveadgang til. Jeg har ikke skriverettigheder i SQL databasen. Hvordan får jeg lige gjort det? Jeg kan godt sammenkæde tabeller, men så får jeg ikke mulighed for at skrive i tabellen.
I Menuen Filer > Hent eksterne data, kan du hente fra andre filer til en temp tabel. Herefter kan du sende data ind i dine respektive tabeller hvor du har skriverettigheder.
Skal du gøre det igen og igen kan det automatiseres.
Selv har jeg lavet en lokat tabel med de felter jeg ønsker at bruge fra SQL inkl mine egne ønsket felter hver x je gså starter basen køre der en tilføjses FS der køre nye data over i lokal tabellen Nb! nøgle felt i lok tabel is null
1. link til PUB_medarb (en SQL database som vi ikke har skriverettigheder til) 2. exporter PUB_medarb tabellen til en txt-fil, PUB_medarb.txt 3. importer fra txt fil til access tabel, tabel1 4. slet de kolonner du ikke skal bruge, ALTER TABLE tabel1 DROP COLUMN [colonne1,colonne2,etc] 5. opret nye kolonner, ALTER TABLE tabel1 ADD nyKolonne1 TEXT(30),nyKolonne2 TEXT(30); 6. Databasen er nu som den ønskes, nemlig kombination af 2 databaser og med skriverettigheder 7. Exporter denne tabel til text-fil.
Det virker fint, men hvordan får jeg dette til at køre een gang i døgnet automatisk?
I Access 2003 ligger der en guide der hjælper dig. Jeg har ikke nogen erfaring med det, og har aldrig brugt det. Men det er den enne af 2 muligheder som jeg tidligere skitserede.
Så fik jeg den lavet så den virker i SQLServer2005 Nogle bud på tilsvarende i ACCESS?
set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go
-- ============================================= -- Author: <Author,,Name> -- Create date: <Create Date,,> -- Description: <Description,,> -- ============================================= ALTER PROCEDURE [dbo].[SP_OPDATER] AS BEGIN DECLARE @bcpCommand varchar(2000) -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON;
--opdater eksisterende personer Update CF Set cf.first_name = emp.first_name, cf.surname = emp.surname, cf.dept_id = emp.dept_id From Cardfive cf inner join ( select emp_no, first_name, surname, dept_id from LINKEDSERVER.database2..employee ) emp on cf.emp_no = emp.emp_no
-- Indsæt nye personer Insert into minTabel ( id, emp_no, first_name, surname, dept_id) select emp_no, emp_no, first_name, surname, dept_id from LINKEDSERVER.database2..employee where not exists ( select emp_no from minTabel)
-- Opret fil SET @bcpCommand = 'bcp "Select * from minDatabase..minTabel" queryout "D:\udskrift.txt" -c -T -N' EXEC master..xp_cmdshell @bcpCommand
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.