Maison base de données Oracle c appelle une procédure stockée Oracle

c appelle une procédure stockée Oracle

May 13, 2023 pm 03:27 PM

Dans le développement de logiciels, l'appel de procédures stockées est l'une des opérations courantes de base de données. Oracle est un système de gestion de base de données relationnelle couramment utilisé. Ainsi, lorsque vous appelez une procédure stockée, vous devez utiliser l'interface qu'elle fournit pour terminer le processus. Cet article explique comment utiliser le langage C pour appeler des procédures stockées Oracle.

1. Introduction aux procédures stockées Oracle

Les procédures stockées Oracle sont des blocs de code prédéfinis utilisés pour effectuer des tâches ou des opérations spécifiques. Après avoir créé une procédure stockée dans la base de données, vous pouvez l'appeler dans votre programme et transmettre des paramètres et des valeurs de retour. L'avantage est que les procédures stockées peuvent être réutilisées, tout en améliorant l'efficacité et la sécurité du programme.

2. Utilisez le langage C pour appeler les procédures stockées Oracle

Avant d'utiliser le langage C pour appeler les procédures stockées Oracle, nous devons nous assurer que le pilote Oracle ODBC est installé pour communiquer avec la base de données Oracle. Ensuite, nous montrerons comment appeler des procédures stockées Oracle en utilisant le langage C en suivant les étapes suivantes :

1. Connectez-vous à la base de données Oracle

Avant d'utiliser le pilote ODBC Oracle, nous devons créer une source de données ODBC pour le programme. Les sources de données ODBC peuvent être créées via « Sources de données (ODBC) » dans le « Panneau de configuration » du système d'exploitation Windows. Vous pouvez également spécifier le nom de la source de données dans le programme, comme indiqué ci-dessous :

SQLRETURN rc;
SQLHDBC hdbc;
SQLAllocHandle(SQL_HANDLE_DBC, SQL_NULL_HANDLE, &hdbc);
rc = SQLConnect(hdbc, (SQLCHAR*)datasource_name, SQL_NTS, (SQLCHAR*)uid, SQL_NTS, (SQLCHAR*)pwd, SQL_NTS);
if (rc != SQL_SUCCESS && rc != SQL_SUCCESS_WITH_INFO) {
    printf("connect to oracle failed
");
    return;
}
Copier après la connexion

2. Préparer les instructions SQL

Avant d'appeler la procédure stockée, vous devez préparer l'instruction SQL afin qu'elle puisse être transmise à la base de données pour exécution. . L'exemple suivant montre comment préparer une instruction SQL simple qui exécute une procédure stockée appelée « get_employee » :

SQLHSTMT hstmt;
SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
SQLCHAR* sql = (SQLCHAR*)"{call get_employee(?, ?, ?, ?)}";
SQLINTEGER param1 = 10, param2 = 3;
SQLDOUBLE param3 = 0.0;
SQLCHAR param4[20];
rc = SQLPrepare(hstmt, sql, SQL_NTS);
if (rc != SQL_SUCCESS && rc != SQL_SUCCESS_WITH_INFO) {
    printf("prepare sql failed
");
    return;
}
rc = SQLBindParameter(hstmt, 1, SQL_PARAM_INPUT, SQL_C_LONG, SQL_INTEGER, 0, 0, &param1, 0, NULL);
rc = SQLBindParameter(hstmt, 2, SQL_PARAM_INPUT, SQL_C_LONG, SQL_INTEGER, 0, 0, &param2, 0, NULL);
rc = SQLBindParameter(hstmt, 3, SQL_PARAM_OUTPUT, SQL_C_DOUBLE, SQL_DOUBLE, 0, 0, &param3, 0, NULL);
rc = SQLBindParameter(hstmt, 4, SQL_PARAM_OUTPUT, SQL_C_CHAR, SQL_VARCHAR, 20, 0, param4, sizeof(param4), NULL);
Copier après la connexion

Dans l'exemple ci-dessus, une instruction SQL est préparée à l'aide de la fonction « SQLPrepare » et la fonction « SQLBindParameter » lie les paramètres à l'espace réservé « ? » de la déclaration. Les premier et deuxième paramètres de la procédure stockée sont respectivement des paramètres d'entrée, et les troisième et quatrième paramètres sont respectivement des paramètres de sortie.

3. Exécutez l'instruction SQL

Une fois l'instruction SQL préparée et les paramètres liés, nous pouvons utiliser la fonction "SQLExecute" pour exécuter l'instruction. Lorsqu'une procédure stockée est exécutée, elle crée automatiquement un curseur dans lequel la valeur du paramètre de sortie peut être récupérée. Voici un exemple d'exécution d'une instruction SQL :

rc = SQLExecute(hstmt);
if (rc != SQL_SUCCESS && rc != SQL_SUCCESS_WITH_INFO) {
    printf("execute sql failed
");
    return;
}
rc = SQLFetch(hstmt);
if (rc != SQL_SUCCESS && rc != SQL_SUCCESS_WITH_INFO && rc != SQL_NO_DATA) {
    printf("fetch data failed
");
    return;
}
Copier après la connexion

Dans l'exemple ci-dessus, l'instruction SQL est exécutée via la fonction "SQLExecute" et la valeur du paramètre de sortie est obtenue dans la fonction "SQLFetch".

4. Déconnectez-vous de la base de données Oracle

Après avoir terminé l'appel à la procédure stockée, vous devez utiliser la fonction "SQLDisconnect" pour vous déconnecter de la base de données Oracle afin de libérer les ressources allouées. L'exemple suivant montre comment se déconnecter de la base de données Oracle :

SQLDisconnect(hdbc);
SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
Copier après la connexion

Grâce aux étapes ci-dessus, nous pouvons utiliser le langage C pour appeler des procédures stockées Oracle.

3. Résumé

Cet article présente comment utiliser le langage C pour appeler des procédures stockées Oracle, qui comprend principalement les étapes de connexion à la base de données Oracle, de préparation des instructions SQL, d'exécution des instructions SQL et de déconnexion de la base de données Oracle. En cours de développement, des modifications et des ajustements peuvent être apportés en fonction de besoins spécifiques. Grâce à l'introduction de cet article, je pense que vous avez une certaine compréhension de l'utilisation du langage C pour appeler des procédures stockées Oracle.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

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)

Comment créer des utilisateurs et des rôles dans Oracle? Comment créer des utilisateurs et des rôles dans Oracle? Mar 17, 2025 pm 06:41 PM

L'article explique comment créer des utilisateurs et des rôles dans Oracle à l'aide de commandes SQL, et discute des meilleures pratiques pour gérer les autorisations des utilisateurs, y compris l'utilisation des rôles, en suivant le principe des moindres privilèges et des audits réguliers.

Comment utiliser Oracle Data Masking and Unsetting pour protéger les données sensibles? Comment utiliser Oracle Data Masking and Unsetting pour protéger les données sensibles? Mar 13, 2025 pm 01:19 PM

Cet article détaille le masquage et le sous-ensemble des données Oracle (DMS), une solution pour protéger les données sensibles. Il couvre l'identification des données sensibles, la définition des règles de masquage (mélange, substitution, randomisation), mise en place de travaux, surveillance et déploiement

Comment utiliser les curseurs dans PL / SQL pour traiter plusieurs lignes de données? Comment utiliser les curseurs dans PL / SQL pour traiter plusieurs lignes de données? Mar 13, 2025 pm 01:16 PM

Cet article explique les curseurs PL / SQL pour le traitement des données Row-by Row. Il détaille la déclaration, l'ouverture, la récupération et la fermeture du curseur, comparant les curses implicites, explicites et ref. Techniques pour une manipulation efficace des ensembles de données importants et une utilisation pour des boucles

Comment effectuer des sauvegardes en ligne dans Oracle avec un minimum de temps d'arrêt? Comment effectuer des sauvegardes en ligne dans Oracle avec un minimum de temps d'arrêt? Mar 17, 2025 pm 06:39 PM

L'article traite des méthodes pour effectuer des sauvegardes en ligne dans Oracle avec un minimum de temps d'arrêt en utilisant RMAN, les meilleures pratiques pour réduire les temps d'arrêt, assurer la cohérence des données et surveiller les progrès de la sauvegarde.

Comment configurer le chiffrement dans Oracle à l'aide du chiffrement transparent des données (TDE)? Comment configurer le chiffrement dans Oracle à l'aide du chiffrement transparent des données (TDE)? Mar 17, 2025 pm 06:43 PM

L'article décrit les étapes pour configurer le chiffrement transparent des données (TDE) dans Oracle, détaillant la création du portefeuille, permettant le TDE et le chiffrement des données à différents niveaux. Il discute également des avantages de TDE comme la protection et la conformité des données, et comment Veri

Comment utiliser le référentiel de charge de travail automatique (AWR) et le moniteur de diagnostic de base de données automatique (ADDM) dans Oracle? Comment utiliser le référentiel de charge de travail automatique (AWR) et le moniteur de diagnostic de base de données automatique (ADDM) dans Oracle? Mar 17, 2025 pm 06:44 PM

L'article explique comment utiliser AWR et ADDM d'Oracle pour l'optimisation des performances de la base de données. Il détaille la génération et l'analyse des rapports AWR, et l'utilisation d'ADDM pour identifier et résoudre les goulots d'étranglement des performances.

Comment utiliser la technologie Flashback pour se remettre de la corruption logique des données? Comment utiliser la technologie Flashback pour se remettre de la corruption logique des données? Mar 14, 2025 pm 05:43 PM

L'article discute de l'utilisation de la technologie Flashback d'Oracle pour se remettre de la corruption logique des données, des étapes de détail de la mise en œuvre et de la garantie de l'intégrité des données après la récupération.

Comment implémenter des politiques de sécurité dans Oracle Database à l'aide de la base de données privée virtuelle (VPD)? Comment implémenter des politiques de sécurité dans Oracle Database à l'aide de la base de données privée virtuelle (VPD)? Mar 13, 2025 pm 01:18 PM

Cet article détaille la mise en œuvre des politiques de sécurité des bases de données Oracle à l'aide de bases de données privées virtuelles (VPD). Il explique la création et la gestion des politiques VPD via des fonctions qui filtrent les données basées sur le contexte de l'utilisateur, mettant en évidence les meilleures pratiques comme le moins P

See all articles