Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL Server 2008 - StoredProcedure (https://www.delphipraxis.net/148628-sql-server-2008-storedprocedure.html)

needatip 5. Mär 2010 09:15

Datenbank: SQL Server • Version: 2008 • Zugriff über: ADO

SQL Server 2008 - StoredProcedure
 
Hallo,

folgende Anweisung funktioniert einwandfrei, wenn ich diese in eine SQL Abfrage schreibe.

SQL-Code:
SELECT * INTO Import FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\test.xls', 'SELECT * FROM [Tabelle1$]')
Wie kann man jetzt den Dateinamen durch eine Variable ersetzen?
SQL-Code:
DECLARE @Filename varchar(256)
SELECT * INTO Import FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database='+@FileName+'', 'SELECT * FROM [Tabelle1$]')
funktioniert auf jeden Fall nicht.

Hab dann probiert eine StoredProcedure daraus zusammenzubasteln.

SQL-Code:
ALTER PROCEDURE [dbo].[ExcelImport]
@FileName varchar(256)
AS
BEGIN
DECLARE @SQL NVARCHAR(1000)
SET @SQL = 'SELECT * INTO Import FROM OPENROWSET(''Microsoft.Jet.OLEDB.4.0'',
''Excel 8.0;Database=''' +@FileName+ ', ''SELECT * FROM [Tabelle1$]'')'
EXEC sp_executesql @SQL, N''
END
Funzt aber auch nicht! :gruebel:
"Sch... Glump"

Brauche dringend Hilfe?

Stevie 5. Mär 2010 11:21

Re: SQL Server 2008 - StoredProcedure
 
SQL-Code:
declare @sql varchar(max);
declare @filename varchar(100);

set @filename = 'c:\test.xls'
set @sql = 'SELECT * INTO Import FROM OPENROWSET(''Microsoft.Jet.OLEDB.4.0'',
  ''Excel 8.0;Database=' + @filename + ''', ''SELECT * FROM [Tabelle1$]'')';

exec (@sql);

needatip 5. Mär 2010 11:35

Re: SQL Server 2008 - StoredProcedure
 
Supi, funktioniert !
DANKE vielmals !!!!
:bounce2: :bounce2: :bounce2:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz