Visual Dataflex
Zur Startseite Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen
Datenbank RSS Feed Selector Zur User-Map

 
Boardmenü
» Forum
» Portal

» Registrieren
» Suche
» Statistik
» Mitglieder
» Team
» Kalender
» Sponsoren
» Partner

» F.A.Q

Portalmenü
» Datenbank anlegen
» Datenbank Entwicklung
» Empfehlungen
» Portal
» Programm erstellen
» Über visual Dataflex

» Statistik

Dataflex Empfehlungen

Englisches Dataflex Forum


Anzeigen

Sponsoren
Kostenloser Linktausch

Antivirus Software

Foren Verzeichnis

HP Color Laserjet 1600

Windows 7 Forum


Social Bookmark Script

Visual Dataflex » SQL-Datenbanken » MS-SQL » Problem Verwendung *.int Datei » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Problem Verwendung *.int Datei
Autor
Beitrag
exli2 exli2 ist männlich
Mitglied


Dabei seit: 02.12.2009
Beiträge: 37
Einsatzart von VDF: gewerblich
Anwenderstatus: Newbie
Herkunft: Berliner Gegend
Betriebssystem: XP

Problem Verwendung *.int Datei Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo SQL- Spezies, folgendes Problem:
Wir brauchen während der Programmlaufzeit die Möglichkeit der Umschaltung auf verschiedene Databases auf dem SQL- Server. In der *.int- Datei ist der DatabaseName statisch eingetragen, und während der Laufzeit nicht änderbar.
Eine zweite und dynamische Möglichkeit wäre das Öffnen einer Tabelle in verschiedenen DataBases mit folgendem Code:
open "MSSQLDRV:dbo#tbl_artikel@SERVER=xxx;UID=xxx;PWD=xxx;DATABASE=XXX"
bzw. mit
open "MSSQLDRV:dbo#tbl_artikel@SERVER=xxx;UID=xxx;PWD=xxx;DATABASE=YYY"

Wenn aber die Tabellen einen PrimärIndex verwenden, lassen sich aus dem Dataflex heraus in diese Spalte mit dem PrimärIndex per "Set_field_value File Field Variable" keine Werte eintragen! Alle anderen Felder werden beschrieben, aber der Save- Vorgang bringt einen Fehler, dass NULL- Werte im PrimärFeld nicht eingetragen werden können. Bei genauerer Beobachtung des Servers werden aber für dieses Feld keine Daten angenommen und somit ist das für den SQL- Server NULL.
Verwendet man hingegen die Variante open tabelle , deren *.int- Datei in der filelist ist, dann funktioniert alles reibungslos.
Hat hierzu jemand eine Idee? Ist das eine Treiber- Problem? Auch das Hinzufügen folgenden Segments nach dem Wert DATABASE in obigem Code brachte keinen Erfolg: ";RECNUM_TABLE=NO;PRIMARY_INDEX=1"

Gruß
Andreas

__________________
Programme sind nur so gut, wie das Zusammenspiel der Synapsen des Entwicklers.
05.11.2010 23:02 exli2 ist offline E-Mail an exli2 senden Beiträge von exli2 suchen Nehmen Sie exli2 in Ihre Freundesliste auf
exli2 exli2 ist männlich
Mitglied


Dabei seit: 02.12.2009
Beiträge: 37
Einsatzart von VDF: gewerblich
Anwenderstatus: Newbie
Herkunft: Berliner Gegend
Betriebssystem: XP

Themenstarter Thema begonnen von exli2
*.Int Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

hat keiner eine Idee, woran das liegen könnte?

__________________
Programme sind nur so gut, wie das Zusammenspiel der Synapsen des Entwicklers.
09.11.2010 11:11 exli2 ist offline E-Mail an exli2 senden Beiträge von exli2 suchen Nehmen Sie exli2 in Ihre Freundesliste auf
Matthias Matthias ist männlich
Super Moderator


Dabei seit: 09.07.2007
Beiträge: 233
Einsatzart von VDF: gewerblich
Anwenderstatus: VDF-Entwickler
Herkunft: Niedernhausen
Betriebssystem: XP, Vista, Win7, 2008 Ser

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Benutze in den .int Dateien die DFConID. Damit bin ich absolut dynamisch für verschiedenen Kunden/Server/User etc.

.int:
code:
1:
2:
3:
4:
DRIVER_NAME MSSQLDRV
SERVER_NAME DFCONNID=IBIS_CONNECT


Im VDF Programm wird dann nur noch vor dem ersten OPEN eine Procedure aufgerufen, die die Informationen irgendwo her bekommt:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
Object oCLIHandler is a cCLIHandler
End_Object

Procedure CreateConnectionID
  Integer iResult
  String sServer sUser sPasswort sTreiber sDatenbank
  String sConnectString
  
   If (sTreiber="MSSQLDRV") Begin
       Set psDriverID of oCLIHandler to "MSSQLDRV"
       
       If (Pos("Trusted", sUser)) Begin
           Move ("SERVER="+sServer + "; Trusted_Connection=yes; DATABASE=" + sDatenbank) to sConnectString
       End
       Else Begin 
           Move ("SERVER="+sServer+"; DATABASE=" + sDatenbank + "; UID=" + sUser+ "; PWD=" + sPasswort) to sConnectString
       End
       Get CreateConnectionID of oCLIHandler "IBIS_CONNECT" sConnectString 0 to iResult
      
   End    
End_Procedure



Matthias
09.11.2010 15:31 Matthias ist offline E-Mail an Matthias senden Homepage von Matthias Beiträge von Matthias suchen Nehmen Sie Matthias in Ihre Freundesliste auf
exli2 exli2 ist männlich
Mitglied


Dabei seit: 02.12.2009
Beiträge: 37
Einsatzart von VDF: gewerblich
Anwenderstatus: Newbie
Herkunft: Berliner Gegend
Betriebssystem: XP

Themenstarter Thema begonnen von exli2
*.int Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Vielen, vielen Dank Matthias, das ist eine elegante Lösung...aber verstehen kann ich dieses unterschiedliche Verhalten nicht. Ist das ein MSSQL- Treiber- Problem? Was wird eigentlich während der Laufzeit in der cch- Datei abgelegt? Die wird doch jedesmal neu geschrieben.

Gruß
Andreas

__________________
Programme sind nur so gut, wie das Zusammenspiel der Synapsen des Entwicklers.
10.11.2010 18:20 exli2 ist offline E-Mail an exli2 senden Beiträge von exli2 suchen Nehmen Sie exli2 in Ihre Freundesliste auf
Matthias Matthias ist männlich
Super Moderator


Dabei seit: 09.07.2007
Beiträge: 233
Einsatzart von VDF: gewerblich
Anwenderstatus: VDF-Entwickler
Herkunft: Niedernhausen
Betriebssystem: XP, Vista, Win7, 2008 Ser

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wenn alles dynamisch gemacht werden soll, würde ich auf die Verwendung von Cache-Dateien verzichten, da hier alles Informationen bis hin zu den Feld-Informationen aus Perfomancegründen für den Programmstart gespeichert werden. In der MSSQLDRV.int gibt es dafür einen Eintrag USE_CACHE.
Matthias
11.11.2010 17:33 Matthias ist offline E-Mail an Matthias senden Homepage von Matthias Beiträge von Matthias suchen Nehmen Sie Matthias in Ihre Freundesliste auf
Gehe zu:
Neues Thema erstellen Antwort erstellen
Visual Dataflex » SQL-Datenbanken » MS-SQL » Problem Verwendung *.int Datei

Views heute: 1.622 | Views gestern: 2.645 | Views gesamt: 2.186.803

Impressum

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH | SEO by seo-wbb.de - Sponsored by Rene Urlaub und Reise Infos Frankenthal