Maison base de données tutoriel mysql MyGeneration获取所有ORACLE数据库的数据库名数据表命列名称

MyGeneration获取所有ORACLE数据库的数据库名数据表命列名称

Jun 07, 2016 pm 03:02 PM
oracle 数据库 获取

使用MyGeneration自动生成代码工具获取所有ORACLE数据库的数据库名数据表命列名称的具体操作步骤如下: 一、设置MyGeration的Default Settings中的数据库链接字符串Provider=OraOLEDB.Oracle.1;Password=myPassword;Persist Security Info=True;User ID=myID

使用MyGeneration自动生成代码工具获取所有ORACLE数据库的数据库名数据表命列名称的具体操作步骤如下:
一、设置MyGeration的Default Settings中的数据库链接字符串Provider=OraOLEDB.Oracle.1;Password=myPassword;Persist Security Info=True;User ID=myID;Data Source=myDataSource
二、复制下面代码到Interface Code选项卡的窗体中

public class GeneratedGui : DotNetScriptGui
{
 public GeneratedGui(ZeusContext context) : base(context) {}

 //-----------------------------------------
 // The User Interface Entry Point
 //-----------------------------------------
 public override void Setup()
 {
  // ** UNCOMMENT CODE BELOW TO SEE UI **

  //ui.Width  = 100;
  //ui.Height = 100;
  //GuiLabel lblDemo = ui.AddLabel("lblDemo", "Demo", "Demo Tooltip");
  //ui.ShowGui = true;
  
  //GuiLabel lblPath;
  //GuiTextBox txtNamespace;
  GuiComboBox cmbDatabase;
  GuiComboBox cmbTable;
  GuiComboBox cmbColumn;
 
  ui.Title = "读取所有数据表";
  ui.Width  = 450;
  ui.Height = 500;
  ui.BackColor = "wheat";
  ui.ShowGui = true;
  //添加窗体控件
  ui.AddLabel("lblPath","输出路径: ","Select the output path."); 
  string sOutputPath = "";   
  if( input.Contains("defaultOutputPath"))
  {
   sOutputPath = input["defaultOutputPath"].ToString();
  }
  //输出文件保存路径
  ui.AddTextBox("txtPath", sOutputPath, "Select the Output Path.");
  ui.AddFilePicker("btnPath", "选择路径", "Select the Output Path.", "txtPath", true);
  //程序命名空间
  ui.AddLabel("lblNamespace", "命名空间: ",  "Provide your objects namespace.");
  ui.AddTextBox("txtNamespace", "ZTE.TMobileUpdate", "Provide your objects namespace."); 
  //数据库下拉框
  ui.AddLabel("lblDatabases", "数据库选择:", "Select a database in the dropdown below.");
  cmbDatabase=ui.AddComboBox("cmbDatabase", "Select a database.");
  setupDatabaseDropdown(cmbDatabase);
  cmbDatabase.AttachEvent("onchange","cmbDatabase_onchange");
  //数据表选择
  ui.AddLabel("lblTables", "数据表选择:", "Select tables from the listbox below.");
  cmbTable = ui.AddComboBox("cmbTable", "Select tables:");
  setupTablesDropdown(cmbDatabase,cmbTable);
  cmbTable.AttachEvent("onchange","cmbTable_onchange");
  //视图选择
  ui.AddLabel("lblColumns", "字段选择:", "Select columns from the listbox below.");
  cmbColumn = ui.AddComboBox("cmbColumn", "Select columns:");
  
 }
 
 public void setupDatabaseDropdown( GuiComboBox Databases )
 {
  try
  { 
   if( MyMeta.IsConnected )
   {
    Databases.BindData( MyMeta.Databases );
    //判断数据库列表是否为空
    if( MyMeta.DefaultDatabase != null )
    {
     Databases.SelectedValue = MyMeta.DefaultDatabase.Alias;
     bindTables( Databases.SelectedValue );
    }
   }
  }
  catch
  {
  }
 }
 public void setupTablesDropdown(GuiComboBox Databases,GuiComboBox Tables)
 {
  try
  { 
   if( MyMeta.IsConnected )
   {
    //判断数据表列表是否为空
    if((Databases.SelectedValue != null)&&(Tables.SelectedValue != null))
    {
     bindColumns(Databases.SelectedValue,Tables.SelectedValue);
    }    
   }
  }
  catch
  {
  }
 }
 
 //数据库切换事件
 public void cmbDatabase_onchange( GuiComboBox control )
 {
  GuiComboBox cmbDatabases = ui["cmbDatabase"] as GuiComboBox; 
  bindTables( cmbDatabases.SelectedText );
 }
 //数据表切换事件
 public void cmbTable_onchange( GuiComboBox control )
 {
  GuiComboBox cmbDatabases = ui["cmbDatabase"] as GuiComboBox;
  GuiComboBox cmbTable = ui["cmbTable"] as GuiComboBox; 
  bindColumns(cmbDatabases.SelectedText, cmbTable.SelectedText);
 }
 
 public void bindTables( string sDatabase )
 { 
  try
  { 
   IDatabase db = MyMeta.Databases[sDatabase];
   GuiComboBox cmbTable = ui["cmbTable"] as GuiComboBox;
   cmbTable.BindData( db.Tables );
  }
  catch
  {
  }
 }
 
 public void bindColumns( string sDatabase,string sTable )
 { 
  try
  { 
   IDatabase db = MyMeta.Databases[sDatabase];
   ITable objTable=db.Tables[sTable];
   GuiComboBox cmbColumn = ui["cmbColumn"] as GuiComboBox;
   cmbColumn.BindData( objTable.Columns );
  }
  catch
  {
  }
 } 
}
三、复制下面代码到Template Code选项卡的窗体中
public class GeneratedTemplate : DotNetScriptTemplate
{
 public GeneratedTemplate(ZeusContext context) : base(context) {}

 //---------------------------------------------------
 // Render() is where you want to write your logic   
 //---------------------------------------------------
 public override void Render()
 {   
  if(context.Objects.ContainsKey("DnpUtils"))
  {
   DnpUtils.SaveInputToCache(context);
  }  
  string strFilenameBase = input["txtPath"].ToString();
  string strNamespace = input["txtNamespace"].ToString();
  string strDatabaseName  = input["cmbDatabase"].ToString();
  string strTableName  = input["cmbTable"].ToString();
  string strColumnName  = input["cmbColumn"].ToString();
  
  output.writeln("输出文件路径:"+strFilenameBase);
  output.writeln("命名空间名称:"+strNamespace);
  output.writeln("当前数据库名称:"+strDatabaseName);
  output.writeln("当前数据表名称:"+strTableName);
  output.writeln("当前选择列名称:"+strColumnName);
  GetAllDataBaseName();    
 }
 //输出所有的数据库名称
 private void GetAllDataBaseName()
 {
  foreach( IDatabase d in MyMeta.Databases )
   {
    GetAllTablesName(d.Alias);
   }  
 }
 //输出所有的数据表名称
 private void GetAllTablesName(string sDatabase)
 {  
  IDatabase objDatabase = MyMeta.Databases[sDatabase];
  output.writeln("当前数据库:"+sDatabase+"共有数据表总数:"+objDatabase.Tables.Count);
  foreach( ITable t in objDatabase.Tables )
   {
    GetAllColumnsName(sDatabase,t.Alias);
   }
 }
 private void GetAllColumnsName(string sDatabase,string sTable)
 {
  IDatabase objDatabase = MyMeta.Databases[sDatabase];
  ITable objTable=objDatabase.Tables[sTable];
  output.writeln("当前数据表:"+sTable+"共有数据列总数:"+objTable.Columns.Count);
  foreach( IColumn c in objTable.Columns )
   {
    if( c.IsInPrimaryKey )
    {
     output.writeln("主键名称:"+c.Alias);
    }
    else
    {
     output.writeln("普通列名:"+c.Alias);
    }
   }
 }

}
%>
四、点菜单上的运行箭头按钮,在Output选项卡的窗体中显示所有结果

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Combien de temps les journaux de la base de données Oracle seront-ils conservés ? Combien de temps les journaux de la base de données Oracle seront-ils conservés ? May 10, 2024 am 03:27 AM

La durée de conservation des journaux de la base de données Oracle dépend du type de journal et de la configuration, notamment : Redo logs : déterminé par la taille maximale configurée avec le paramètre "LOG_ARCHIVE_DEST". Redo logs archivés : Déterminé par la taille maximale configurée par le paramètre "DB_RECOVERY_FILE_DEST_SIZE". Redo logs en ligne : non archivés, perdus au redémarrage de la base de données et la durée de conservation est cohérente avec la durée d'exécution de l'instance. Journal d'audit : Configuré par le paramètre "AUDIT_TRAIL", conservé 30 jours par défaut.

De quelle quantité de mémoire Oracle a-t-il besoin ? De quelle quantité de mémoire Oracle a-t-il besoin ? May 10, 2024 am 04:12 AM

La quantité de mémoire requise par Oracle dépend de la taille de la base de données, du niveau d'activité et du niveau de performances requis : pour le stockage des tampons de données, des tampons d'index, l'exécution d'instructions SQL et la gestion du cache du dictionnaire de données. Le montant exact dépend de la taille de la base de données, du niveau d'activité et du niveau de performances requis. Les meilleures pratiques incluent la définition de la taille SGA appropriée, le dimensionnement des composants SGA, l'utilisation d'AMM et la surveillance de l'utilisation de la mémoire.

Exigences de configuration matérielle du serveur de base de données Oracle Exigences de configuration matérielle du serveur de base de données Oracle May 10, 2024 am 04:00 AM

Exigences de configuration matérielle du serveur de base de données Oracle : Processeur : multicœur, avec une fréquence principale d'au moins 2,5 GHz Pour les grandes bases de données, 32 cœurs ou plus sont recommandés. Mémoire : au moins 8 Go pour les petites bases de données, 16 à 64 Go pour les tailles moyennes, jusqu'à 512 Go ou plus pour les grandes bases de données ou les charges de travail lourdes. Stockage : disques SSD ou NVMe, matrices RAID pour la redondance et les performances. Réseau : réseau haut débit (10GbE ou supérieur), carte réseau dédiée, réseau à faible latence. Autres : alimentation stable, composants redondants, système d'exploitation et logiciels compatibles, dissipation thermique et système de refroidissement.

Les tâches planifiées Oracle exécutent l'étape de création une fois par jour Les tâches planifiées Oracle exécutent l'étape de création une fois par jour May 10, 2024 am 03:03 AM

Pour créer une tâche planifiée dans Oracle qui s'exécute une fois par jour, vous devez effectuer les trois étapes suivantes : Créer une tâche. Ajoutez un sous-travail au travail et définissez son expression de planification sur "INTERVAL 1 DAY". Activez le travail.

Quelle quantité de mémoire est nécessaire pour utiliser la base de données Oracle Quelle quantité de mémoire est nécessaire pour utiliser la base de données Oracle May 10, 2024 am 03:42 AM

La quantité de mémoire requise pour une base de données Oracle dépend de la taille de la base de données, du type de charge de travail et du nombre d'utilisateurs simultanés. Recommandations générales : petites bases de données : 16 à 32 Go, bases de données moyennes : 32 à 64 Go, grandes bases de données : 64 Go ou plus. D'autres facteurs à prendre en compte incluent la version de la base de données, les options d'optimisation de la mémoire, la virtualisation et les meilleures pratiques (surveiller l'utilisation de la mémoire, ajuster les allocations).

Comment démarrer le programme d'écoute dans Oracle Comment démarrer le programme d'écoute dans Oracle May 10, 2024 am 03:12 AM

Les écouteurs Oracle sont utilisés pour gérer les demandes de connexion client. Les étapes de démarrage comprennent : Connectez-vous à l'instance Oracle. Recherchez la configuration de l'écouteur. Utilisez la commande lsnrctl start pour démarrer l'écouteur. Utilisez la commande lsnrctl status pour vérifier le démarrage.

Tutoriel détaillé sur l'établissement d'une connexion à une base de données à l'aide de MySQLi en PHP Tutoriel détaillé sur l'établissement d'une connexion à une base de données à l'aide de MySQLi en PHP Jun 04, 2024 pm 01:42 PM

Comment utiliser MySQLi pour établir une connexion à une base de données en PHP : Inclure l'extension MySQLi (require_once) Créer une fonction de connexion (functionconnect_to_db) Appeler la fonction de connexion ($conn=connect_to_db()) Exécuter une requête ($result=$conn->query()) Fermer connexion ( $conn->close())

iOS 18 ajoute une nouvelle fonction d'album 'Récupéré' pour récupérer les photos perdues ou endommagées iOS 18 ajoute une nouvelle fonction d'album 'Récupéré' pour récupérer les photos perdues ou endommagées Jul 18, 2024 am 05:48 AM

Les dernières versions d'Apple des systèmes iOS18, iPadOS18 et macOS Sequoia ont ajouté une fonctionnalité importante à l'application Photos, conçue pour aider les utilisateurs à récupérer facilement des photos et des vidéos perdues ou endommagées pour diverses raisons. La nouvelle fonctionnalité introduit un album appelé "Récupéré" dans la section Outils de l'application Photos qui apparaîtra automatiquement lorsqu'un utilisateur a des photos ou des vidéos sur son appareil qui ne font pas partie de sa photothèque. L'émergence de l'album « Récupéré » offre une solution aux photos et vidéos perdues en raison d'une corruption de la base de données, d'une application d'appareil photo qui n'enregistre pas correctement dans la photothèque ou d'une application tierce gérant la photothèque. Les utilisateurs n'ont besoin que de quelques étapes simples

See all articles