J'ai mis un fichier a.txt sur un disque. Ce fichier contient :
"a","b","c"
1,2,3
Si je fais :
exec master..xp_cmdshell 'dir c:\*.txt'
go
SELECT * fROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data
Source=c:\;Extended Properties=Text')...a
Je vois bien le fichier mais le SELECT me donne l'erreur :
Server: Msg 7314, Level 16, State 1, Line 1
OLE DB provider 'Microsoft.Jet.OLEDB.4.0' does not contain table 'a'. The
table either does not exist or the current user does not have permissions on
that table.
OLE DB error trace [Non-interface error: OLE DB provider does not contain
the table: ProviderName='Microsoft.Jet.OLEDB.4.0', TableName='a'].
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Laurent Moreau
Je n'ai pas le temps de tester pour te donner une vrai réponse, mais regarde l'aide en ligne de la proc: sp_addlinkedserver
Surtout le paragraphe H: --------------------------------------- H. Utilisation du fournisseur Microsoft OLE DB pour Jet pour accéder à un fichier texte Cet exemple crée un serveur lié pour accéder directement aux fichiers texte, sans lier les fichiers comme tables dans un fichier .mdb de Microsoft Access. Le fournisseur est Microsoft.Jet.OLEDB.4.0 et la chaîne du fournisseur est 'Text'.
La source de données est le nom du chemin d'accès complet au répertoire qui contient les fichiers texte. Un fichier schema.ini, qui décrit la structure des fichiers texte, doit se trouver dans le même répertoire que les fichiers texte. Pour plus d'informations sur la création d'un fichier schema.ini, reportez-vous à la documentation du moteur de base de données Jet.
--Create a linked server EXEC sp_addlinkedserver txtsrv, 'Jet 4.0', 'Microsoft.Jet.OLEDB.4.0', 'c:datadistqry', NULL, 'Text' GO...... -------------------------------
Laurent.
"Patrice Scribe" wrote in message news:
J'ai mis un fichier a.txt sur un disque. Ce fichier contient : "a","b","c" 1,2,3
Si je fais :
exec master..xp_cmdshell 'dir c:*.txt' go SELECT * fROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source=c:;Extended Properties=Text')...a
Je vois bien le fichier mais le SELECT me donne l'erreur :
Server: Msg 7314, Level 16, State 1, Line 1 OLE DB provider 'Microsoft.Jet.OLEDB.4.0' does not contain table 'a'. The table either does not exist or the current user does not have permissions
on
that table. OLE DB error trace [Non-interface error: OLE DB provider does not contain the table: ProviderName='Microsoft.Jet.OLEDB.4.0', TableName='a'].
Comment résoudre ce problème ?
Merci d'avance.
--
Je n'ai pas le temps de tester pour te donner une vrai réponse, mais regarde
l'aide en ligne de la proc:
sp_addlinkedserver
Surtout le paragraphe H:
---------------------------------------
H. Utilisation du fournisseur Microsoft OLE DB pour Jet pour accéder à un
fichier texte
Cet exemple crée un serveur lié pour accéder directement aux fichiers texte,
sans lier les fichiers comme tables dans un fichier .mdb de Microsoft
Access. Le fournisseur est Microsoft.Jet.OLEDB.4.0 et la chaîne du
fournisseur est 'Text'.
La source de données est le nom du chemin d'accès complet au répertoire qui
contient les fichiers texte. Un fichier schema.ini, qui décrit la structure
des fichiers texte, doit se trouver dans le même répertoire que les fichiers
texte. Pour plus d'informations sur la création d'un fichier schema.ini,
reportez-vous à la documentation du moteur de base de données Jet.
--Create a linked server
EXEC sp_addlinkedserver txtsrv, 'Jet 4.0',
'Microsoft.Jet.OLEDB.4.0',
'c:datadistqry',
NULL,
'Text'
GO......
-------------------------------
Laurent.
"Patrice Scribe" <nobody@nowhere.com> wrote in message
news:OOiOuOb4DHA.536@tk2msftngp13.phx.gbl...
J'ai mis un fichier a.txt sur un disque. Ce fichier contient :
"a","b","c"
1,2,3
Si je fais :
exec master..xp_cmdshell 'dir c:*.txt'
go
SELECT * fROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data
Source=c:;Extended Properties=Text')...a
Je vois bien le fichier mais le SELECT me donne l'erreur :
Server: Msg 7314, Level 16, State 1, Line 1
OLE DB provider 'Microsoft.Jet.OLEDB.4.0' does not contain table 'a'. The
table either does not exist or the current user does not have permissions
on
that table.
OLE DB error trace [Non-interface error: OLE DB provider does not contain
the table: ProviderName='Microsoft.Jet.OLEDB.4.0', TableName='a'].
Je n'ai pas le temps de tester pour te donner une vrai réponse, mais regarde l'aide en ligne de la proc: sp_addlinkedserver
Surtout le paragraphe H: --------------------------------------- H. Utilisation du fournisseur Microsoft OLE DB pour Jet pour accéder à un fichier texte Cet exemple crée un serveur lié pour accéder directement aux fichiers texte, sans lier les fichiers comme tables dans un fichier .mdb de Microsoft Access. Le fournisseur est Microsoft.Jet.OLEDB.4.0 et la chaîne du fournisseur est 'Text'.
La source de données est le nom du chemin d'accès complet au répertoire qui contient les fichiers texte. Un fichier schema.ini, qui décrit la structure des fichiers texte, doit se trouver dans le même répertoire que les fichiers texte. Pour plus d'informations sur la création d'un fichier schema.ini, reportez-vous à la documentation du moteur de base de données Jet.
--Create a linked server EXEC sp_addlinkedserver txtsrv, 'Jet 4.0', 'Microsoft.Jet.OLEDB.4.0', 'c:datadistqry', NULL, 'Text' GO...... -------------------------------
Laurent.
"Patrice Scribe" wrote in message news:
J'ai mis un fichier a.txt sur un disque. Ce fichier contient : "a","b","c" 1,2,3
Si je fais :
exec master..xp_cmdshell 'dir c:*.txt' go SELECT * fROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source=c:;Extended Properties=Text')...a
Je vois bien le fichier mais le SELECT me donne l'erreur :
Server: Msg 7314, Level 16, State 1, Line 1 OLE DB provider 'Microsoft.Jet.OLEDB.4.0' does not contain table 'a'. The table either does not exist or the current user does not have permissions
on
that table. OLE DB error trace [Non-interface error: OLE DB provider does not contain the table: ProviderName='Microsoft.Jet.OLEDB.4.0', TableName='a'].
Comment résoudre ce problème ?
Merci d'avance.
--
Med Bouchenafa [MVP]
Il te manque le schéma de ta base. Le driver texte voit un répertoire comme une base de données et les fichiers qu'il contient comme des tables Mais il faut lui indiquer dans un fichier dénommé "schema.ini" la structure des tables Fait une recherche sur "schema.ini" sur le site de Microsoft pour avoir la structure de ce fichier
-- Salutations Med Bouchenafa TETRASET 75015 Paris
"Patrice Scribe" a écrit dans le message de news:
J'ai mis un fichier a.txt sur un disque. Ce fichier contient : "a","b","c" 1,2,3
Si je fais :
exec master..xp_cmdshell 'dir c:*.txt' go SELECT * fROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source=c:;Extended Properties=Text')...a
Je vois bien le fichier mais le SELECT me donne l'erreur :
Server: Msg 7314, Level 16, State 1, Line 1 OLE DB provider 'Microsoft.Jet.OLEDB.4.0' does not contain table 'a'. The table either does not exist or the current user does not have permissions on that table. OLE DB error trace [Non-interface error: OLE DB provider does not contain the table: ProviderName='Microsoft.Jet.OLEDB.4.0', TableName='a'].
Comment résoudre ce problème ?
Merci d'avance.
--
Il te manque le schéma de ta base.
Le driver texte voit un répertoire comme une base de données et les fichiers qu'il contient comme
des tables
Mais il faut lui indiquer dans un fichier dénommé "schema.ini" la structure des tables
Fait une recherche sur "schema.ini" sur le site de Microsoft pour avoir la structure de ce fichier
--
Salutations
Med Bouchenafa
TETRASET
75015 Paris
"Patrice Scribe" <nobody@nowhere.com> a écrit dans le message de news:
OOiOuOb4DHA.536@tk2msftngp13.phx.gbl...
J'ai mis un fichier a.txt sur un disque. Ce fichier contient :
"a","b","c"
1,2,3
Si je fais :
exec master..xp_cmdshell 'dir c:*.txt'
go
SELECT * fROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data
Source=c:;Extended Properties=Text')...a
Je vois bien le fichier mais le SELECT me donne l'erreur :
Server: Msg 7314, Level 16, State 1, Line 1
OLE DB provider 'Microsoft.Jet.OLEDB.4.0' does not contain table 'a'. The
table either does not exist or the current user does not have permissions on
that table.
OLE DB error trace [Non-interface error: OLE DB provider does not contain
the table: ProviderName='Microsoft.Jet.OLEDB.4.0', TableName='a'].
Il te manque le schéma de ta base. Le driver texte voit un répertoire comme une base de données et les fichiers qu'il contient comme des tables Mais il faut lui indiquer dans un fichier dénommé "schema.ini" la structure des tables Fait une recherche sur "schema.ini" sur le site de Microsoft pour avoir la structure de ce fichier
-- Salutations Med Bouchenafa TETRASET 75015 Paris
"Patrice Scribe" a écrit dans le message de news:
J'ai mis un fichier a.txt sur un disque. Ce fichier contient : "a","b","c" 1,2,3
Si je fais :
exec master..xp_cmdshell 'dir c:*.txt' go SELECT * fROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source=c:;Extended Properties=Text')...a
Je vois bien le fichier mais le SELECT me donne l'erreur :
Server: Msg 7314, Level 16, State 1, Line 1 OLE DB provider 'Microsoft.Jet.OLEDB.4.0' does not contain table 'a'. The table either does not exist or the current user does not have permissions on that table. OLE DB error trace [Non-interface error: OLE DB provider does not contain the table: ProviderName='Microsoft.Jet.OLEDB.4.0', TableName='a'].