Zugriff ueber ODBC ohne Adminrechte nicht möglich

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Zugriff ueber ODBC ohne Adminrechte nicht möglich

Beitrag von dysti »

Hallo,
möchte auf eine Access- oder Exel-Datei über ODBC zugreifen. Dazu gibt es verschiedene Lib´s hier im Forum. Funktionieren allesamt hervorragend, aber nur am Rechner mit Administratorrechten. Wenn ich jetzt z.B. in der Firma bin und möchte am Arbeitsplatz mein Programm ausführen, kann er die DSN etc. auf Grund mangelnder Administratorrechte nicht erstellen.
Gibt es trotzdem eine Möglichkeit auf Exeldateien zu zugreifen?
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Beitrag von dysti »

.......es muß ja nicht unbedingt über den Treiber der Zugriff erfolgen.
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
tranquil
Beiträge: 117
Registriert: 22.09.2004 22:07
Kontaktdaten:

Re: Zugriff ueber ODBC ohne Adminrechte nicht möglich

Beitrag von tranquil »

dysti hat geschrieben:Hallo,
möchte auf eine Access- oder Exel-Datei über ODBC zugreifen. Dazu gibt es verschiedene Lib´s hier im Forum. Funktionieren allesamt hervorragend, aber nur am Rechner mit Administratorrechten. Wenn ich jetzt z.B. in der Firma bin und möchte am Arbeitsplatz mein Programm ausführen, kann er die DSN etc. auf Grund mangelnder Administratorrechte nicht erstellen.
Gibt es trotzdem eine Möglichkeit auf Exeldateien zu zugreifen?
Das ist sehr merkwürdig. Auf Arbeit besitze ich auch keine Administrationsrechte, kann auch weder in die Verwaltung, noch die ODBCConfig öffnen. Trotzdem funktioniert das einrichten & löschen einer DSN.
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Beitrag von dysti »

Bei mir gibt es da noch nicht einmal den Menuepunkt "Systemsteuerung"
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
tranquil
Beiträge: 117
Registriert: 22.09.2004 22:07
Kontaktdaten:

Beitrag von tranquil »

Hast Du die snippets aus der purearea benutzt? rings hat mal 2 prozeduren geposted mit denen es gut funktioniert.
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Beitrag von dysti »

tranquil0:
Habe verschiedene Versionen von Rings probiert. Vielleicht habe ich auch nicht die richtigen Snippets gefunden. Könntest du mir noch ein Hinweis geben, welche Snippets zu meintest.
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Was ist denn nun mit ScriptControl, damit kannste doch auch auf Excel
zugreifen? Beispiel ist auch bei.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Beitrag von dysti »

Hallo TS-Soft,
oh Gott, hatte ich ganz aus den Augen verloren. Werde es gleich ausprobieren.
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Beitrag von dysti »

Hallo Ts-Soft,
habe folgenden Code aus deinen Examples erstellt:
Hier die PB-Datei:

Code: Alles auswählen

IncludeFile "VariantHelper.pb"


Procedure.s LoadVbsScript(Datei.s)

  temp.s = ""
  If OpenFile(0, Datei)
    While Not Eof(0)
      temp + ReadString(0) + #CRLF$
    Wend
  EndIf
  ProcedureReturn temp
EndProcedure

SCtr_SetLanguage("VBScript")
SCtr_SetTimeOut(20000)
SCtr_AddCode(LoadVbsScript("Excel.vbs"))
SCtr_EvalVariant("Namen", Value.Variant)
SCtr_EvalVariant("Vornamen", Value.Variant)
SCtr_EvalVariant("Telefon", Value.Variant)


; Anzahl der Elemente holen
count = GetVariantSafeArrayCount(Value)
If count
  ; Zeiger auf Daten holen
  *Vornamen.pdata = GetVariantSafeArray(Value)
  *Namen.pdata = GetVariantSafeArray(Value)
  For index = 0 To count - 1
    ; Daten ausgeben als String / Typeumwandlung automatisch in GetVariantStr
    MessageRequester("", GetVariantStr(*Vornamen\Value[index]) + GetVariantStr(*Namen\Value[index]))
  Next
EndIf
und hier die VBS-Datei:

Code: Alles auswählen

Dim cnn, rs
Dim Namen(2)
Dim Vornamen(2)
Dim Telefon(2)

set cnn = CreateObject("ADODB.Connection")
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Telefon.xls;Extended Properties=Excel 8.0;"
set rs = CreateObject("ADODB.Recordset")
rs.open "SELECT * FROM [Tabelle1$]
anz=0
If Not rs.eof then
	Namen(anz) = rs.Fields("Namen")
	Vornamen(anz) = rs.Fields("Vornamen")
	Telefon(anz) = rs.Fields("Telefon")
	anz=anz+1
End If
Habe eine Zeile mit Daten in der Exeldatei hinzugefügt.
Bekomme aber keine Daten angezeigt.
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Antworten