i have the answer after doing many time in this week, i try select database name for parameter with this query :
Select name AS SchemaName from sys.schemas
where name not in (
'guest',
'INFORMATION_SCHEMA',
'sys',
'db_owner',
'db_accessadmin',
'db_securityadmin',
'db_ddladmin',
'db_backupoperator',
'db_datareader',
'db_datawriter',
'db_denydatareader',
'db_denydatawriter')
and then i try select tablename using dbname parameter with this query :
SELECT DISTINCT TABLE_NAME AS TableName
FROM INFORMATION_SCHEMA.TABLES
WHERE (TABLE_TYPE = 'BASE TABLE') AND (TABLE_SCHEMA = @SchemaName) AND (TABLE_NAME LIKE 'ATRH.1.%' or
TABLE_NAME LIKE 'ATRH.2.%' or
TABLE_NAME LIKE 'ATRH.3.%' or
TABLE_NAME LIKE 'ATRH.4.%')
ORDER BY TableName
after then i add more parameter with date "start" and "end" to get data in that 2 range date
in sqlserver i create a stored produres with this query
ALTER PROCEDURE [dbo].[testAtrh]
@TableName nvarchar(128),
@Start nvarchar(128),
@End nvarchar(128)
AS
BEGIN
declare @sql NVARCHAR(MAX)
SET @sql = N'SELECT [SensorID], [Time], [Value]
FROM' +quotename(@TableName)+
'WHERE ([Time] BETWEEN '''+CONVERT(nvarchar(128), @Start, 121) +''' AND '''+ CONVERT(nvarchar(128), @End, 121)+ ''')ORDER BY Time desc'
EXEC sp_executesql @sql
END
it work on my ssrs report with sql server 2008, thanks for help from u all