Comment importer le contenu de la base de données SQL dans le GaussDB?

Dernière réponse en. 17, 2020 09:27:54 178 1 0 0

Bonjour, TAC


Comment importer le contenu de la base de données SQL dans le GaussDB?


Actuellement, la base de données SQL est déployée sur le serveur 1288, mais la migration globale du service est effectuée.

Par conséquent, trois serveurs 5885 sont ajoutés, et l'un de la nouvelle base de données Huawei GaussDB, lequel des nœuds de données est déployé.

Maintenant, nous voulons transférer les informations de la base de données du SQL d'origine vers la base de données Gauss.


Que devrais-je faire?


Meilleures salutations!



  • x
  • Standard:

Med_Taher
publié il y a 2020-1-17 09:27:54 Utile(0) Utile(0)

Bonjour, 


Vous pouvez utiliser l'outil CopyManager pour migrer vos informations de base de données.


La commande est la suivante:

  //gsjdbc4.jar est utilisé comme exemple.  Si gsjdbc200.jar est utilisé, remplacez le nom de classe org.postgresql par com.huawei.gauss200.jdbc et remplacez le préfixe d'URL jdbc: postgresql par jdbc: gaussdb.import java.io.StringReader; import java.sql.Connection; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import org.postgresql.copy.CopyManager; import org.postgresql.core.BaseConnection; migration de classe publique {  public static void main (String [] args) {  String url = new String ("jdbc: postgresql: //10.180.155.74: 8000 / postgres");  // URL de la base de données  String user = new String ("jack");  // nom d'utilisateur mppdb  Passe de chaîne = nouvelle chaîne ("Gauss @ 123");  // mot de passe mppdb  String tablename = new String ("migration_table");  // Définissez les informations de la table.  Délimiteur de chaîne = nouvelle chaîne ("|");  // Définissez un délimiteur.  Encodage de chaîne = nouvelle chaîne ("UTF8");  // Définit un jeu de caractères.  String driver = "org.postgresql.Driver";  StringBuffer buffer = new StringBuffer ();  // Définissez le tampon pour stocker les données formatées.  essayez {  // Obtenez le jeu de résultats de la requête de la base de données source.  ResultSet rs = getDataSet ();  // Parcourez le jeu de résultats et obtenez les enregistrements ligne par ligne.  // Les valeurs des colonnes de chaque enregistrement sont séparées par le délimiteur spécifié et se terminent par un caractère de nouvelle ligne pour former des chaînes.  //// Ajoutez les chaînes au tampon.  while (rs.next ()) {  buffer.append (rs.getString (1) + délimiteur  + rs.getString (2) + délimiteur  + rs.getString (3) + délimiteur  + rs.getString (4)  + "\ n");  }  rs.close ();  essayez {  // Connectez-vous à la base de données cible.  Class.forName (pilote);  Connection conn = DriverManager.getConnection (url, utilisateur, passe);  BaseConnection baseConn = (BaseConnection) conn;  baseConn.setAutoCommit (false);  // Initialise les informations de la table.  String sql = "Copy" + tablename + "from STDIN DELIMITER" + "'" + delimiter + "'" + "ENCODING" + "'" + encoding + "'";  // Soumettez les données dans le tampon.  CopyManager cp = nouveau CopyManager (baseConn);  StringReader reader = new StringReader (buffer.toString ());  cp.copyIn (sql, lecteur);  baseConn.commit ();  reader.close ();  baseConn.close ();  } catch (ClassNotFoundException e) {  e.printStackTrace (System.out);  } catch (SQLException e) {  e.printStackTrace (System.out);  }  } catch (Exception e) {  e.printStackTrace ();  }  }  // ********************************   // Renvoie le résultat de la requête depuis la base de données source.  // *********************************   resultSet statique statique getDataSet () {  ResultSet rs = null;  essayez {  Class.forName ("com.mysql.jdbc.Driver"). NewInstance ();  Connexion conn = DriverManager.getConnection ("jdbc: mysql: //10.119.179.227: 3306 / jack? UseSSL = false & allowPublicKeyRetrieval = true", "jack", "Gauss @ 123");  Instruction stmt = conn.createStatement ();  rs = stmt.executeQuery ("select * from migration_table");  } catch (SQLException e) {  e.printStackTrace ();  } catch (Exception e) {  e.printStackTrace ();  }  return rs;  }}


Pour plus de détails, vous pouvez vous référer au document.

https://support.huawei.com/hedex/hdx.do?docid=EDOC1100098621&id=EN-US_TOPIC_0182934827&lang=en


  • x
  • Standard:

Commentaire

envoyer
Connectez-vous pour répondre. Se connecter | Enregistrer

Remarque Remarque : Afin de protéger vos droits et intérêts légitimes, ceux de la communauté et des tiers, ne divulguez aucun contenu qui pourrait présenter des risques juridiques pour toutes les parties. Le contenu interdit comprend, sans toutefois s'y limiter, le contenu politiquement sensible, le contenu lié à la pornographie, aux jeux d'argent, à l'abus et au trafic de drogues, le contenu qui peut divulguer ou enfreindre la propriété intellectuelle d'autrui, y compris les secrets professionnels, les marques commerciales, les droits d'auteur et les brevets, ainsi que la vie privée personnelle. Ne partagez pas votre nom d'utilisateur ou votre mot de passe avec d'autres personnes. Toutes les opérations effectuées à partir de votre compte seront considérées comme vos propres actions, et toutes les conséquences en découlant vous seront imputées. Pour plus de détails, voir « Politique de confidentialité ».
Si le bouton de la pièce-jointe n'est pas disponible, mettez à jour Adobe Flash Player à la dernière version.
Connectez-vous pour participer à la communication et au partage

Connectez-vous pour participer à la communication et au partage

S'identifier