Search  
Friday, February 10, 2012 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Profox  Mesaje fara legatura cu FoxPro  vbs + odbc...
 vbs + odbc
 
 1/29/2010 11:53:55 AM
User is offlineAstalus
126 posts
5th


vbs + odbc
 (N/A) Modified By Astalus  on 1/29/2010 11:54:28 AM)

buna ziua,

doresc sa consult o baza de date, prin intermediul unei conexiuni ODBC, intr-un script xx.vbs

puteti sa-mi dati un exemplu de astfel de script ?

multumesc

xp / sp2

 

 1/29/2010 1:08:52 PM
User is offlineDaniel Buduru
2141 posts
1st




Re: vbs + odbc
 (N/A)
http://www.visualbasicscript.com/m54220.aspx
Daniel Buduru
 1/29/2010 2:21:01 PM
User is offlineAstalus
126 posts
5th


Re: vbs + odbc
 (N/A)

am incercat

acesta este scriptul  /  nu trece de ad.open

mesajul este "[microsoft][odbc driver manager  ] data source not found and not default driver specified"

toate datele sunt luate de aici si functioneaza ca macrou excel


'Sub Macro1()
'
' Macro1 Macro
' Macro recorded 29.01.2010 by AstalusMircea
'
'    With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
'        "ODBC;DSN=access la 'vanzari;UID=;;SourceDB=D:\aplicatie\baza_date\vinzari.dbc;SourceType=DBC;Exclusive=No;BackgroundFetch=Yes;Collate" _
'        ), Array("=Machine;Null=Yes;Deleted=Yes;")), Destination:=Range("A1"))
'        .CommandText = Array("SELECT clienti.dencl" & Chr(13) & "" & Chr(10) & "FROM clienti clienti")
'       
'    End With
'End Sub

 

 

Dim ad
Dim sql_query
Dim objFSO, objOutFile
Dim intCount, i
Set objFSO = CreateObject("Scripting.FileSystemObject")     'create  and open text file
Set objOutFile = objFSO.OpenTextFile("d:\aplicatie\automation\xx.txt", 8, True)
sql_query = "SELECT * FROM persoane"       'sql query
set ad = CreateObject("ADODB.Connection")      'create and open ODBC connection

ad.ConnectionString= "ODBC;DSN=access la vanzari;" & _
                     "UID=;;SourceDB=D:\aplicatie\baza_date\vinzari.dbc;" & _
                     "SourceType=DBC;Exclusive=No;BackgroundFetch=Yes;" & _
                     "Collate=Machine;Null=Yes;Deleted=Yes"
msgbox("pas1")
ad.Open
msgbox("pas2")
Set rs = ad.execute(sql_query)        'execute query
intCount = rs.Fields.Count        
do while not rs.eof         'loop to cycle through the table
 for i = 1 to intCount     'loop to cycle through fields of each table and write to file
  objOutFile.Write rs.fields.item(i) & vbTab
 next
 objOutFile.WriteLine vbCrLf       'newline
   
loop
ad.close



 

 1/30/2010 8:07:29 PM
User is offlineDaniel Buduru
2141 posts
1st




Re: vbs + odbc
 (N/A)
Daca accesezi vfp, incearca cu VFPOLEDB:

ad.ConnectionString= "Provider=VFPOLEDB;Data Source=D:\aplicatie\baza_date\vinzari.dbc;"

Daniel Buduru
 1/31/2010 7:06:14 AM
User is offlineAstalus
126 posts
5th


Re: vbs + odbc
 (N/A)

err

 

"provider cannot be found. it may not be properly installed"

lucrez cu vfp v6

 

 1/31/2010 12:31:17 PM
User is offlineDaniel Buduru
2141 posts
1st




Re: vbs + odbc
 (N/A)
Se poate descarca de aici si instala:
http://www.microsoft.com/downloads/details.aspx?FamilyId=E1A87D8F-2D58-491F-A0FA-95A3289C5FD4&displaylang=en

Ce contine acel DSN access la vanzari?
Se pare ca pe acea masina nu sunt instalate driverele VFP, nici driverul ODBC si nici VFPOLEDB.
Ne poate lamuri doar continutul fisierului DSN.

Oricum, pentru o conexiune ADO e de preferat driverul VFPOLEDB.

Daniel Buduru
 1/31/2010 2:38:41 PM
User is offlineAstalus
126 posts
5th


Re: vbs + odbc
 (N/A)

"access la vanzari " este numele conexiunii odbc la o baza .dbc .

o folosesc in mod curent.(in excel pt import de date etc) 

 

 1/31/2010 2:54:02 PM
User is offlineDaniel Buduru
2141 posts
1st




Re: vbs + odbc
 (N/A)
DSN (Data Source Name) contine numele driverului prin care se face conectarea, precum si alte date.
Primul mesaj primit spune ca fie driverul specificat in DSN, fie DSN-ul nu sunt gasite.
Nu stiu ce este instalat sau nu pe acea masina, nici daca Excel foloseste un driver propriu pentru acces la dbc (excel poate edita fisiere dbf in mod nativ).

Ar trebui sa se conecteze cu acest string:

ad.ConnectionString= "DRIVER=Microsoft Visual FoxPro Driver;" & _
                     "UID=;;SourceDB=D:\aplicatie\baza_date\vinzari.dbc;" & _
                     "SourceType=DBC;Exclusive=No;BackgroundFetch=Yes;" & _
                     "Collate=Machine;Null=Yes;Deleted=Yes"


Daca apare acelasi mesaj ("data source not found and not default driver specified")  inseamna ca nu este instalat driverul respectiv.
Daca nu apare nici o eroare, e posibil totusi sa nu fie acceptata comanda sql "Select * from persoane".

Driverul VFPOLEDB accepta sigur comanda rescpectiva. E compatibil in jos, deci ultima versiune, cea din link-ul de mai sus, poate lucra cu baza de date vfp6.



Daniel Buduru
 1/31/2010 6:17:23 PM
User is offlineAstalus
126 posts
5th


Re: vbs + odbc
 (N/A)

functioneaza

inserez codul asa cum functioneaza la mine

Dim ad
Dim sql_query
Dim objFSO, objOutFile
Dim intCount, i
Set objFSO = CreateObject("Scripting.FileSystemObject")     'create  and open text file
Set objOutFile = objFSO.OpenTextFile("d:\aplicatie\automation\xx.txt", 8, True)
sql_query = "SELECT cnp,nume,prenume,adresa,sex,codpostal FROM persoane"       'sql query
set ad = CreateObject("ADODB.Connection")      'create and open ODBC connection
ad.ConnectionString= "DRIVER=Microsoft Visual FoxPro Driver;" & _
                     "UID=;;SourceDB=D:\aplicatie\baza_date\vinzari.dbc;" & _
                     "SourceType=DBC;Exclusive=No;BackgroundFetch=Yes;" & _
                     "Collate=Machine;Null=Yes;Deleted"
ad.Open
Set rs = ad.execute(sql_query)        'execute query
intCount = rs.Fields.Count
msgbox( intCount)

do while not rs.eof      
  for i = 0 to intCount - 1   
   objOutFile.Write rs.fields.item(i) & vbTab
  next
  objOutFile.WriteLine vbCrLf
  rs.MoveNext
  
loop
ad.close

   
multumesc ff mult.

cu respect,  o zi buna / Astalus

 

  Profox  Mesaje fara legatura cu FoxPro  vbs + odbc...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement