Récupération des données de connexion SQL avec JavaScript via C++
Contents
[
Hide
]
Aspose.Cells peut vous aider à récupérer les données de connexion SQL. Cela inclut toutes les données nécessaires pour établir une connexion avec le serveur SQL, par exemple, URL du serveur, nom d’utilisateur, nom de la table, requête SQL complète, type de requête, emplacement de la table, et nom de la plage nommée associée.
Dans Microsoft Excel, se connecter à une base de données en :
- Cliquant sur le menu Données et en sélectionnant À partir d’autres sources, puis Depuis un serveur SQL.
- Ensuite, sélectionnez Données suivi de Connexions.
- Utilisez l’assistant Connexions pour vous connecter à la base de données et créer une requête de base de données.
Aspose.Cells for JavaScript via C++ fournit la propriété Workbook.dataConnections pour récupérer les connexions externes. Elle renvoie un tableau d’objets ExternalConnection dans le classeur.
Si l’objet ExternalConnection contient des données de connexion SQL, il peut être converti en un objet DBConnection dont on peut utiliser les propriétés pour récupérer la commande de la base de données, le type de commande, la description de la connexion, les informations sur la connexion, les identifiants, etc.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Read Data Connections Example</h1>
<input type="file" id="fileInput" accept=".xls,.xlsx,.csv" />
<button id="runExample">Run Example</button>
<a id="downloadLink" style="display: none;">Download Result</a>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, SaveFormat, Utils } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
document.getElementById('runExample').addEventListener('click', async () => {
const fileInput = document.getElementById('fileInput');
const resultEl = document.getElementById('result');
resultEl.innerHTML = '';
if (!fileInput.files.length) {
resultEl.innerHTML = '<p style="color: red;">Please select an Excel file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Instantiate workbook from uploaded file
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Access the external collections
const connections = workbook.dataConnections;
const connectionCount = connections.count;
const out = [];
let connection = null;
for (let i = 0; i < connectionCount; i++) {
connection = connections.get(i);
// Check if the Connection is DBConnection, then retrieve its various properties
if (connection.classType === AsposeCells.ExternalConnectionClassType.DBConnection) {
const dbConn = connection;
// Retrieve DB Connection Command
out.push('<p>Command: ' + dbConn.command + '</p>');
// Retrieve DB Connection Command Type
out.push('<p>Command Type: ' + dbConn.commandType + '</p>');
// Retrieve DB Connection Description
out.push('<p>Description: ' + dbConn.connectionDescription + '</p>');
// Retrieve DB Connection ID
out.push('<p>Id: ' + dbConn.id + '</p>');
// Retrieve DB Connection Info
out.push('<p>Info: ' + dbConn.connectionString + '</p>');
// Retrieve DB Connection Credentials
out.push('<p>Credentials: ' + dbConn.credentialsMethodType + '</p>');
// Retrieve DB Connection Name
out.push('<p>Name: ' + dbConn.name + '</p>');
// Retrieve DB Connection ODC File
out.push('<p>OdcFile: ' + dbConn.odcFile + '</p>');
// Retrieve DB Connection Source File
out.push('<p>Source file: ' + dbConn.sourceFile + '</p>');
// Retrieve DB Connection Type
out.push('<p>Type: ' + dbConn.sourceType + '</p>');
// Retrieve DB Connection Parameters Collection
const paramCollection = dbConn.parameters;
const paramCount = paramCollection.count;
// Iterate the Parameter Collection
if (paramCount > 0) {
out.push('<h3>Parameters:</h3>');
}
for (let j = 0; j < paramCount; j++) {
const param = paramCollection.get(j);
// Retrieve Parameter Cell Reference
out.push('<p>Cell reference: ' + param.cellReference + '</p>');
// Retrieve Parameter Name
out.push('<p>Parameter name: ' + param.name + '</p>');
// Retrieve Parameter Prompt
out.push('<p>Prompt: ' + param.prompt + '</p>');
// Retrieve Parameter SQL Type
out.push('<p>SQL Type: ' + param.sqlType + '</p>');
// Retrieve Parameter Type
out.push('<p>Param Type: ' + param.type + '</p>');
// Retrieve Parameter Value
out.push('<p>Param Value: ' + param.value + '</p>');
} // End for
} // End if
} // End for
if (out.length === 0) {
resultEl.innerHTML = '<p>No DB connections found in the selected workbook.</p>';
} else {
resultEl.innerHTML = out.join('');
}
});
});
</script>
</html>