AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MS-SQL Logik

Ein Thema von Hansa · begonnen am 4. Sep 2012 · letzter Beitrag vom 6. Sep 2012
Antwort Antwort
Seite 2 von 3     12 3      
pixfreak

Registriert seit: 6. Jul 2007
112 Beiträge
 
Delphi XE3 Professional
 
#11

AW: MS-SQL Logik

  Alt 4. Sep 2012, 19:30
Geht das mit ADO oder wie ? Bzw. welchen Provider/Treiber oder sonstwas muss man nehmen ? Und ich glaube der Connectionstring ist auch nicht so ganz ohne habe ich mal irgendwo gehört.
Hab ich noch nicht probiert, für den ConnectString gibts aber gute Hilfen im Netz. Ich verwende die DevArt Compo SDac...


VG Pixfreak
... und noch nen C++ Builder XE2
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#12

AW: MS-SQL Logik

  Alt 4. Sep 2012, 19:37
Ich habe jahrelang ADO und den jeweils aktuellsten native SQL Client verwendet.
Nie Sorgen gehabt.

Jetzt baue ich diverse Projekte mit AnyDac.
Der Grund ist aber nicht, dass die ADO Komponenten schlecht wären, sondern, dass ich die Projekte parallel auf Firebird und MSSQL deployen muss.


Mit dem ConnectionString ist das eigentlich sehr leicht.


In das Event OnWillConnect deiner ADO Connection:

ConnectionString := 'FILE NAME = .\dblink.udl'; Dann legst Du dir eine leere Textdatei mit der Fileextension .udl im Anwendungsverzeichnis an und klickst da doppelt drauf. Die Konfiguration ist dann selbsterklärend.
Vorteil ist, dass du den UDL beim Kunden leicht anpassen kannst und OnWillConnect immer greift, auch wenn die ADO Connection zur Entwurfszeit aktiv mit einer anderen DB verbunden war.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#13

AW: MS-SQL Logik

  Alt 5. Sep 2012, 01:42
...Dann legst Du dir eine leere Textdatei mit der Fileextension .udl im Anwendungsverzeichnis an und klickst da doppelt drauf.
Da tut sich nichts, der kann die UDL-Datei nicht öffnen. "Stellen sie sicher, daß es sich um eine Datenverknüpfungs-Datei handelt". Und das liegt wohl daran, dass der Client extra installiert werden muss. Könnte aber wohl auch was ganz anderes sein. Ist der bei Delphi nicht dabei ?

Zur Auswahl steht allerdings u.a.: SQLNCLI11. Könnte das nicht für SQL-Network-Client 11 stehen ? Das steht auch in MS-SQL 12 !! so in etwa irgendwo.
Gruß
Hansa
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#14

AW: MS-SQL Logik

  Alt 5. Sep 2012, 06:51
Der SQL-Server native Client 11 ist perfekt.

Zitat:
Da tut sich nichts, der kann die UDL-Datei nicht öffnen. "Stellen sie sicher, daß es sich um eine Datenverknüpfungs-Datei handelt".
Verstehe ich nicht.
Der Konfigurationsdialog für den "universal DataLink" ist seit Windows 95 in jedem Windows dabei...

Über Rechtsklick > Eigenschaften kommst Du auch nicht an die Provider- und Verbindungseinstellungen heran?
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#15

AW: MS-SQL Logik

  Alt 5. Sep 2012, 07:28
Zitat:
Da tut sich nichts, der kann die UDL-Datei nicht öffnen. "Stellen sie sicher, daß es sich um eine Datenverknüpfungs-Datei handelt".
Verstehe ich nicht.
Ich schon.

Die Datei muss wirklich leer sein (0 Bytes). Steht da irgend etwas drin, was nicht UDL ist, kommt o.g. Meldung.
  Mit Zitat antworten Zitat
pixfreak

Registriert seit: 6. Jul 2007
112 Beiträge
 
Delphi XE3 Professional
 
#16

AW: MS-SQL Logik

  Alt 5. Sep 2012, 07:32
[QUOTE=Hansa;1181602]
SQLNCLI11. Könnte das nicht für SQL-Network-Client 11 stehen ? Das steht auch in MS-SQL 12 !! so in etwa irgendwo.
Passt, da 2012 die Versionsnummer 11 hat. Aus eigener Erfahrung und gegen die Mauer laufen, darauf achten, dass auf dem Client PC ein passender native Client installiert ist und nicht das alte Standard-Windows-OLE DB. Dann funktionieren die neuen Datentypen wie Date und Time nicht korrekt...!

VG Pixfreak
... und noch nen C++ Builder XE2
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#17

AW: MS-SQL Logik

  Alt 5. Sep 2012, 15:10
Die Datei muss wirklich leer sein (0 Bytes). Steht da irgend etwas drin, was nicht UDL ist, kommt o.g. Meldung.
Thx, das war mal das. In Delphi kommt allerdings jetzt "ungültiges Attribut für die Verbindungszeichenfolge". Das kommt beim Versuch, connected auf true zu setzen. In der TAdoConnection ist dabei folgendes eingestellt : FILE NAME = \8.0\test.udl; Als Provider SQLNCLI11 und bei DefaultDataBase : der Pfad zur DB. also : C:\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\northwnd.mdf
Was ist denn da noch falsch ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#18

AW: MS-SQL Logik

  Alt 5. Sep 2012, 18:54
Die Datei muss wirklich leer sein (0 Bytes). Steht da irgend etwas drin, was nicht UDL ist, kommt o.g. Meldung.
Thx, das war mal das. In Delphi kommt allerdings jetzt "ungültiges Attribut für die Verbindungszeichenfolge". Das kommt beim Versuch, connected auf true zu setzen. In der TAdoConnection ist dabei folgendes eingestellt : FILE NAME = \8.0\test.udl; Als Provider SQLNCLI11 und bei DefaultDataBase : der Pfad zur DB. also : C:\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\northwnd.mdf
Was ist denn da noch falsch ?
Woah. SQL Server ist keine File-Based Datenbank, sondern (wie schon oft erwähnt) eine Enterprise-Datenbank. Den Client hat es einen feuchten Kehricht zu interessieren, wo das DB-File liegt. Der hat über Netzwerk (TCP/IP oder Named pipes) drauf zuzugreifen und braucht daher den Zielrechnernamen und den Datenbanknamen. Ggf. noch den Instanznamen wenn das nicht die default-Instanz ist. Die Filename-Geschichte ist and und für sich nur dann interessant, wenn man LocalDB verwendet oder SQL Server CE (Compact Edition).

Ein Connectionstring sieht idealerweise so aus:
Code:
Provider=MSDASQL;Server=localhost;Database=Northwind;Trusted_Connection=Yes
Das wäre im Fall dass Du Windows Authentication verwendest (als DB-User wird der Windows-User genommen, in dessen Context die Applikation läuft). Das ist der Trusted_Connection - Teil. Wenn Du anstelle dessen named user verwenden willst (diese Mixed-Mode authentication bei der installation muss da angestellt worden sein), dann muss da anstelle von Trusted_Connection=Yes entsprechend User ID=username;Password=DasPasswort

Falls die Datenbank nicht in der Default-Instanz liegt, dann muss Server=RECHNERNAME\INSTANZNAME angegeben werden. Also z.B. localhost\SQLEXPRESS

Andere Beispiele findest Du auch hier: http://www.connectionstrings.com/sql-server-2008 - das meiste lässt sich auf 2012 auch anwenden.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#19

AW: MS-SQL Logik

  Alt 5. Sep 2012, 19:24
Die Filename-Geschichte ist and und für sich nur dann interessant, wenn man LocalDB verwendet oder SQL Server CE (Compact Edition).
Auch Wuoah


In der UDL Datei ist definiert, welcher Provider, welcher Server, welche Instanz welche Authentifizierung und wie die Verbindung erfolgt.

Der "File Name" Verweis auf den universal Datalink hat nichts mit lokalen Datenbanken zu tun.
Letztendlich ist es ja nur eine "Verknüpfung" zu einer definierten Datenquelle.

Also UDL und den "klassischen ConnectionString" nicht mischen...

Entweder legst du die DB-Config "statisch" in der Anwendung fest.
(etwa so)
Code:
Provider=MSDASQL;Server=localhost;Database=Northwind;Trusted_Connection=Yes
oder du gibst in deiner Anwendung an, in welcher UDL Datei die Datenbankverbindung definiert ist
(etwa so)
Code:
ConnectionString := 'FILE NAME=test.udl';
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#20

AW: MS-SQL Logik

  Alt 5. Sep 2012, 19:34
Ich nutzen ausschliesslich ADO.NET, da hab ich mit udl's nix am hut. Hansa hatte aber bei DefaultDatabase den Pfad zur MDF-Datei eingetragen, und das ist irgendwie.. suboptimal.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz