Polack77
Messages postés1095Date d'inscriptionmercredi 22 mars 2006StatutMembreDernière intervention22 octobre 20191 27 févr. 2008 à 16:17
Tiens j'ai oublié de posté ma solution .....
Je le fait de suite
<hr size="2" width="100%" />'Références à ajouté :
' Microsoft ActiveX Data Objects 2.x Library
' Microsoft OLE DB Service Component 1.0 Type Library.
Dim cn As ADODB.Connection
Private Sub Command1_Click()
Dim MSDASCObj As MSDASC.DataLinks
Set MSDASCObj = New MSDASC.DataLinks
'Set cn = New ADODB.Connection
Set cn = MSDASCObj.PromptNew
'If Then
If Not cn Is Nothing Then
cn.Open
If cn.State = adStateOpen Then
MsgBox "Connection opened successfully"
cn.Close
End If
End If
End Sub
<hr size="2" width="100%" />Ce n'est pas forcément la solution idéale de mon point de vue mais déjà pas mal (et ça fonctionne)
thiosyiasar
Messages postés186Date d'inscriptionlundi 11 mars 2002StatutMembreDernière intervention30 novembre 20103 20 déc. 2003 à 08:59
Merci ca m'aide pour les drivers et les sources ODBC mais je n'y trouve pas les providers oledb
(j'ai fait une recherche dans toutes la bases de registre)
Pour voir la liste
Dans visual basic 6
- Clique sur l'icone fenêtre données
- Clique sur 'ajouter une nouvelle connexion aux données'
Je veux obtenir la liste qui apparait : 'Fournisseur Ole db'
Pour infos, j'utilise les apis ODBC32.dll pour obtenir ce que tu trouves dans la base de registre.
Polack77
Messages postés1095Date d'inscriptionmercredi 22 mars 2006StatutMembreDernière intervention22 octobre 20191 28 janv. 2008 à 17:12
Bonjour, étant donnée que ce topic commence à daté un peut, à tu trouvé la solution ?
(Je cherche à faire pareil en ce moment et la seul solution que j'ai trouvé est de construire un fichier avec TOUT les providers OleDb existant, enfin ceux que je trouve, et à la rigueur mettre à jours ce ficher si d'autre sont diffusé ou si des mise à jours paraisse. Mais je n'arrive pas à trouvé la liste des provider DISPONIBLE sur la machine. Je voudrais évité les truc DÉGUEULASSE comme ce que j'expose plus haut)
Merci
Amicalement
Pensez "Réponse acceptée"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Polack77
Messages postés1095Date d'inscriptionmercredi 22 mars 2006StatutMembreDernière intervention22 octobre 20191 28 janv. 2008 à 17:35
Lol il suffit que je pose la question pour trouvé ce que je cherche (bon, ce n'est pas exactement la liste des providers dispo sur la machine mais c'est suffisant pour ce que je veut faire)
Ici : http://www.dotnet-news.com/lien.aspx?ID=25696 A+
Amicalement
Pensez "Réponse acceptée"
thiosyiasar
Messages postés186Date d'inscriptionlundi 11 mars 2002StatutMembreDernière intervention30 novembre 20103 31 janv. 2008 à 01:48
Salut Polack77,
A l'époque, j'avais trouvé un composant ActiveX intégrer a Windows qui ouvre un formulaire permettant de sélectionner sa connexion (il construit et retourne une chaine de connexion)
C'est une boite de dialogue qu'on voit souvent pour les connexions ODBC / OLEDB. Le problême c'est que ca date, que le projet est en VB6 et que ca fait belle lurette que je n'ai plus cette version de VS installé.
Si vraiment t'en a besoin je ferais une recherche texte dans le projet
Polack77
Messages postés1095Date d'inscriptionmercredi 22 mars 2006StatutMembreDernière intervention22 octobre 20191 31 janv. 2008 à 15:30
Dans V.S. 2005 j'ai trouvé ça :
Microsoft.Data.ConnectionUI.DataConnectionDialog
C'est une boite de dialogue retournant des informations suffisante pour construire la chaine de connections en OleDb mais ça ne fonctionne (je crois) que pour VB2005 et en VB6 ça m'arrangerais donc si tu à une idée de où trouvé ça (pour l'ODBC je sait faire, autrement mais ça fonctionne bien donc pas de problème) mais je ne sait pas me connecté en OleDb avec VB6
Polack77
Messages postés1095Date d'inscriptionmercredi 22 mars 2006StatutMembreDernière intervention22 octobre 20191 1 avril 2008 à 14:04
Au faite pour utilisé (en Dot.Net) :
Microsoft.Data.ConnectionUI.DataConnectionDialog
Il faut ajouté la référence (absente de la liste) :
Fichier : Microsoft.Data.ConnectionUI.Dialog.dll
Dossier : Program Files\Microsoft Visual Studio 8\Common7\IDE
cs_erdna
Messages postés22Date d'inscriptionlundi 19 juin 2006StatutMembreDernière intervention27 août 2010 23 nov. 2008 à 15:56
S'il n'est pas trop tard et que cela peut t'aider ou un autre qui se pose la même question, cette procédure retourne la liste demandée dans un DataGridView
Imports System.Data
Imports System.Data.OleDb
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim enumerator As New OleDbEnumerator
Dim table As System.Data.DataTable = enumerator.GetElements()
DataGridView1.DataSource = table
End Sub
Polack77
Messages postés1095Date d'inscriptionmercredi 22 mars 2006StatutMembreDernière intervention22 octobre 20191 24 nov. 2008 à 10:59
Il n'est JAMAIS trop tard pour bien faire .
Bon il est trop tard pour le projet que je développais à l'époque mais bon sa me serviras un jours c'est certain :)
Merci c'est exactement ce que je cherchais à l'époque :)
(Existe t'il un équivalent en VB6 ?)
Amicalement
Pensez "Réponse acceptée"
Polack77
Messages postés1095Date d'inscriptionmercredi 22 mars 2006StatutMembreDernière intervention22 octobre 20191 24 nov. 2008 à 11:45
Au risque d'être chiant :
Je ne comprend pas bien la colonne "SOURCE_TYPE" dans la table retourné. Sur MSDN je trouve sa :
<hr size= "2" width="100%" />SOURCE_TYPE :
Un des membres de l'énumération suivants :
-> Binder (0)
-> DataSource_MDP (1)
-> DataSource_TDP (2)
-> Enumerator (3)
Ceux-ci correspondent aux valeurs retournées dans la colonne
SOURCES_TYPE du jeu de lignes des sources OLE DB natives.
<hr size="2" width="100%" />Et sa ne me parle pas vraiment
Déjà si j'ai bien compris (ce dont je doute à vrais dire ) :
Binder (0) => Aucune idée ?????
Aucun provider de ce type sur ma machine semble t'il ????
DataSource_MDP (1) = > Provider de connexion "classique" à ne BdD (enfin je crois )
Semble contenir tout les providers "classique" utilisable pour une connexion à une BdD.
Exemple : "PostgreSQL OLE DB Provider", "Microsoft OLE DB Provider for Oracle", ...
DataSource_TDP (2) => Provider de connection à une BdD (GROS DOUTE)
Semble être un autre type de provider de connexion à des BdD mais je ne comprend pas la différance avec les type 1 ??????
Exemple : "Microsoft OLE DB Enumerator for SQL Server", "Microsoft OLE DB Enumerator for ODBC Drivers", ...
Enumerator (3) => Aucune idée ?????
Exemple : "Microsoft OLE DB Provider for OLAP Services", "Microsoft OLE DB Provider for OLAP Services 8.0" (les seuls présent sur ma machine)
Pour le moment je n'utiliserais que les type 1 (DataSource_MDP) mais il semble que les types 2 (DataSource_TDP) ont des avantages (ce qui me fait dire sa : Ici). Si quelqu'un peut m'aidé à comprendre sa serais super sympa .
Merci d'avance
Polack77
Messages postés1095Date d'inscriptionmercredi 22 mars 2006StatutMembreDernière intervention22 octobre 20191 24 nov. 2008 à 11:50
Oupssss j'ai trompé oublier ce que j'ai dit sur le type 2 (DataSource_TDP) j'ai fait une erreur de copier coller durant mes recherche
Du coup je ne sait pas du tout à quoi correspond ce type (2 : DataSource_TDP)
DZL
cs_erdna
Messages postés22Date d'inscriptionlundi 19 juin 2006StatutMembreDernière intervention27 août 2010 24 nov. 2008 à 19:12
pour faire des recherches sur ces sujets dans Google, il faut faire précéder de le nom du model de : 'database model ".
TDP équivaut à Tabular Data Provider
MDP équivaut à Multidimensional Data Provider
voir (en anglais) http://www.technion.ac.il/docs/sas/eis/zenid-33.htm "The Multidimensional
Data Provider (MDP) is a data model that accesses a variety of data structures
in a distributed environment."
Polack77
Messages postés1095Date d'inscriptionmercredi 22 mars 2006StatutMembreDernière intervention22 octobre 20191 25 nov. 2008 à 10:10
Ok merci de l'info :)
Donc si je comprend bien (me corigé si je raconte des conneries svp) :
DataSource_MDP (1) => Provider de connexion "classique" à une BdD. Soit elle permettent de faire des séléctions, sprésions, insertions et mises à jours de données, ce dans plussieurs tables simultanément avec différant type de données.
Et les autres ne me seront d'aucune utilité (en tout cas pour le moment, et je n'es pas vraiment le temps en ce moment de faire des recherches pour comprendre les différances avec plus de présision).
Encore merci pour ces précisions qui me seront bien utile dans un avenir proche :)
Amicalement
Pensez "Réponse acceptée"
cs_erdna
Messages postés22Date d'inscriptionlundi 19 juin 2006StatutMembreDernière intervention27 août 2010 26 nov. 2008 à 10:50
La confusion provient probablement du fait que lorsqu'on fait la liste des prividers OLE DB la majorité des providers soient de type DataSource_MDP (1). Je n'ai pas trouvé d'explication mais on peut supposer que le type ne soit pas restrictif et que le type (1) puisse faire ce que fait le type (2) (une table classique étant seulement à 2 dimensions), alors que le type (2) ne peut pas faire ce que fait le type (1).
De plus un provider OLE DB fournissant l'accès à plusieurs types de base de données par exemple:
<li>VSAM (Virtual Sequential Access Method)</li><li>Fichiers AS/400</li><li>Bases de données relationnelles (telles que
Microsoft® SQL Server et Oracle)</li><li>Tableurs personnels (tels que Microsoft® Excel)</li><li>Bases de données personnelles (telles que Microsoft
Jet)</li><li>Documents de traitement de texte</li><li>Fichiers texte</li><li>Courrier électronique</li><li>...</li>le type ne pourrait pas servir dans ces cas et seulement dans le cas des bases de données relationnelles.
C'est lors de la manipulation des données du côté serveur et du côté client que se fait la différenciation dans l'architecture de la table.
Polack77
Messages postés1095Date d'inscriptionmercredi 22 mars 2006StatutMembreDernière intervention22 octobre 20191 26 nov. 2008 à 18:00
Houla c'est moins évidant que ce que je pensait en faite (même si je pense qu'avec un peut de temps tout deviendras claire)
Merci pour ces précisions
Je n'es hélasse pas le temps cette semaine (et sans doute la semaines prochaines non plus) de me ré-intéresser à ce problème .
(Je posterais de toute façon mes conclusions et éventuel codes programmes ici)
Merci encore erdna du temps investie à mon piti problème