рдУрдкрди рдХреНрд╡реЗрд░реА рд▓рд┐рдВрдХреНрдб рд╕рд░реНрд╡рд░ рдЯреЗрдмрд▓ рдХреЙрд▓рдо рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд╛рд░реНрдпрд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдпрд╣ рд╕реЗрдЯ рдЖрдкрдХреЛ Oracle рдФрд░ SQL рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреБрдбрд╝реЗ рдкреНрд░рдЧрддрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдХреЙрд▓рдо рджреЗрдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд░реЗрдЧрд╛ред
A Simple set of Stored Procedures that return a list of Columns from Oracle or Progress databases linked into SQL Server, using dynamic SQL.
The SELECT statement can also be used independently on the relevant application.
Oracle
CREATE PROC [dbo].[GetOpenQuery_Oracle_Columns](@LinkServ NVARCHAR(100),@LinkTable NVARCHAR(100)) AS BEGINDECLARE @SQL NVARCHAR(MAX)='SELECT * FROM OpenQuery('+@LinkServ+', ''select * from DBA_TAB_COLUMNS where OWNER = ''''LIVE''''AND table_name= '''''+@LinkTable+''''''')'PRINT @SQLEXEC sp_executesql @SQLENDGOProgress
ALTER PROC [dbo].[GetOpenQuery_Progress_Columns](@LinkServ NVARCHAR(100),@LinkTable NVARCHAR(100)) AS BEGINDECLARE @SQL NVARCHAR(MAX)='SELECT * FROM OpenQuery('+@LinkServ+', ''select * from sysprogress.SYSCOLUMNS_FULL where TBL = '''''+@LinkTable+''''''')'PRINT @SQLEXEC sp_executesql @SQLENDGORunning the code
To run them simply execute the appropriate Stored Procedure with the linked server name.
EXEC GetOpenQuery_Oracle_Columns 'Server_Name','Table_Name'EXEC GetOpenQuery_Progress_Columns 'Server_Name','Table_Name'