hente data fra database og skrive til fil
Jeg har brug for at hente data fra en (ikke skrivebar database, ODBC) og inner joine den til en anden database. Jeg har løst problemet i SQL Server 2005 som vist herunder. Vil gerne kunne det samme i vbscript - nogle forslag?set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
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 tabel1 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
END
Jeg har kontakt til databasen og kan finde sidste række med dette script:
dim connection_string : connection_string = _
"provider=microsoft.jet.oledb.4.0;" _
& "data source=C:\Documents and Settings\Administrator\My Documents\klausen.mdb"
dim conn : set conn = createobject("adodb.connection")
conn.open connection_string
Dim sql : sql = "select id from name"
dim rs : set rs = createobject("adodb.recordset")
rs.cursorlocation = 3 'Use a client-side cursor
rs.open sql, conn, 3, 3
'A static copy of a set of records, locked only when updating
rs.movelast
dim id
if not rs.eof then
id = rs.Fields(0)
else
id = 1
end if
msgbox id