Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SSIS API:Как да разберете към кой интерфейс да прехвърлите __COMObject?

Ето как изтеглих SQL от задача за изпълнение на SQl:

                foreach (Executable executable in _Package.Executables)
                {
                    TaskHost taskHost = executable as TaskHost;
                    if (taskHost != null)
                    {
                        string taskHostName = taskHost.Name;
                        System.Diagnostics.Debug.WriteLine("SSIS Task=" + taskHostName);

                        IDTSExecuteSQL iDTSExecuteSQL;

                        try
                        {
                            iDTSExecuteSQL = (IDTSExecuteSQL)taskHost.InnerObject as IDTSExecuteSQL;

                            if (iDTSExecuteSQL != null)
                            {

Сега, ако мога просто да разбера как да извлека sql от рамките на Data Task:

 MainPipe pipeline = taskHost.InnerObject as MainPipe;
                                    if (pipeline != null)
                                    {
                                        foreach (IDTSComponentMetaData100 componentMetadata in pipeline.ComponentMetaDataCollection)
                                        {
                                            try
                                            {???

Сега какво??



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използвайте TYPE_ID(), за да получите идентификатора на тип данни в SQL Server

  2. Риск от сблъсък на UUID, използвайки различни алгоритми

  3. Вземете резултат от динамичен SQL в съхранена процедура

  4. Промяна на съществуваща колона в изчислена колона в SQL Server (пример за T-SQL)

  5. SQL Server:как да изберете фиксирано количество редове (изберете всяка x-та стойност)