Premiere commit - Omika
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
# ============================================================
|
||||
# Probe de diagnostic du crash natif wd300vm64.dll à la FERMETURE
|
||||
# du process (Stop-Service OmikaApi).
|
||||
#
|
||||
# But : isoler si le provider OLE DB PCSOFT.HFSQL plante au
|
||||
# teardown du POOL DE SESSIONS OLE DB à la sortie du process.
|
||||
#
|
||||
# Lancer DEUX FOIS, chacune dans son propre process pwsh :
|
||||
# 1) pooling ACTIF (défaut) : sans -DisablePooling -> attendu CRASH à la sortie
|
||||
# 2) pooling DÉSACTIVÉ : avec -DisablePooling -> attendu AUCUN crash
|
||||
#
|
||||
# LECTURE SEULE : n'effectue qu'un SELECT 1. Aucun secret
|
||||
# n'est loggé (le mot de passe n'est jamais affiché).
|
||||
# ============================================================
|
||||
param(
|
||||
[Parameter(Mandatory = $true)][string]$Server,
|
||||
[int]$Port = 4900,
|
||||
[Parameter(Mandatory = $true)][string]$Database,
|
||||
[Parameter(Mandatory = $true)][string]$User,
|
||||
[string]$Password = "",
|
||||
[switch]$DisablePooling
|
||||
)
|
||||
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
# Chaîne de connexion sans jamais afficher le mot de passe.
|
||||
$connStr = "Provider=PCSOFT.HFSQL;Data Source=${Server}:${Port};Initial Catalog=${Database};User ID=${User}"
|
||||
if ($Password) { $connStr += ";Password=$Password" }
|
||||
if ($DisablePooling) { $connStr += ";OLE DB Services=-1" }
|
||||
|
||||
Write-Host "=== PROBE SHUTDOWN OLE DB HFSQL ==="
|
||||
Write-Host "Mode pooling : $(if ($DisablePooling) { 'DESACTIVE (OLE DB Services=-1)' } else { 'ACTIF (defaut)' })"
|
||||
Write-Host "Serveur : ${Server}:${Port}"
|
||||
Write-Host "Base : $Database"
|
||||
Write-Host "Compte : $User"
|
||||
Write-Host ""
|
||||
|
||||
$conn = New-Object System.Data.OleDb.OleDbConnection($connStr)
|
||||
$conn.Open()
|
||||
Write-Host "Connexion ouverte : $($conn.State)"
|
||||
|
||||
$cmd = $conn.CreateCommand()
|
||||
$cmd.CommandText = "SELECT 1"
|
||||
$result = $cmd.ExecuteScalar()
|
||||
Write-Host "SELECT 1 : $result"
|
||||
$cmd.Dispose()
|
||||
|
||||
$conn.Close()
|
||||
Write-Host "Connexion fermee : $($conn.State)"
|
||||
$conn.Dispose()
|
||||
Write-Host "Connexion disposee."
|
||||
|
||||
Write-Host ""
|
||||
Write-Host "FIN DU SCRIPT : le process pwsh va se terminer maintenant."
|
||||
Write-Host ">>> OBSERVER ICI : crash natif (Application Error 1000, wd300vm64.dll,"
|
||||
Write-Host " 0xc0000005 / 0xc0000409) ou sortie propre sans evenement. <<<"
|
||||
Reference in New Issue
Block a user