2009-03-12 17 views
0

Généralement, j'utilise SQL Server comme base de données pour mon projet, mais un de mes projets concerne le fichier shape ESRI qui utilise le format .dbf comme base de données (je pense que c'était le format DBASE III ou IV).Accès et manipulation de DBF à partir de Classic ASP 3.0

Je veux créer une interface web pour modifier la valeur qui existe déjà sur dbf, par exemple, le client peut modifier le nom de la rue s'il était incorrect ou l'adresse pour plusieurs endroits.

Auparavant j'ai déjà l'application Classic ASP 3.0 en cours d'exécution et je veux intégrer la nouvelle fonctionnalité.

Ma question:
1. Qu'est-ce qu'une chaîne de connexion (DSN-moins préférable) pour interagir avec DBF?
2. Quelqu'un peut-il me donner des exemples pour récupérer/mettre à jour un enregistrement?

J'ai déjà lu ceci:
http://www.intermedia.net/support/kb/default.asp?id=761 et
http://www.motobit.com/tips/detpg_asp-dbf-database/

Aucun fait travailler, à l'heure actuelle mon code a été quelque chose comme ça (ne fonctionne pas):


Set connDBF1 = Server.CreateObject("ADODB.Connection") 
connDBF1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\digimap;Extended Properties=""DBASE IV;"";" 
connDBF1.Open 

Set connDBF2 = Server.CreateObject("ADODB.Connection") 
connDBF2.ConnectionString = "DBQ=D:\digimap;DefaultDir=D:\digimap;Driver={Microsoft dBase Driver (*.dbf)};ImplicitCommitSync=Yes;MaxBufferSize=512;MaxScanRows=8;PageTimeout=5;Threads=3;UserCommitSync=Yes;" 
connDBF2.Open 

set rs = connDBF1.Execute("SELECT * FROM taspat_ka_jawa") 
set rs = connDBF2.Execute("SELECT * FROM taspat_ka_jawa") 

L'erreur était

Microsoft JET Database Engine error '80040e37' 

The Microsoft Jet database engine could not find the object 'taspat_ka_jawa'. Make sure the object exists and that you spell its name and the path name correctly. 

test_dbf.asp, line 11

Je suis assez sûr que "taspat_ka_jawa" était déjà en "D: \ Digimap"


Résolu
J'utilise ADO Avantage pour le fournisseur OLEDB, il fonctionne très bien, je peux voir/modifier/supprimer l'enregistrement (s) maintenant
http://www.sybase.com/products/databasemanagement/advantagedatabaseserver/ole-db-provider

Merci, Dels

Répondre