AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Prism Deployment von Prism-Webseiten und MSSQL
Thema durchsuchen
Ansicht
Themen-Optionen

Deployment von Prism-Webseiten und MSSQL

Ein Thema von Daniela.S · begonnen am 7. Feb 2011 · letzter Beitrag vom 9. Feb 2011
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Daniela.S
Daniela.S

Registriert seit: 1. Mär 2008
Ort: Niederösterreich
226 Beiträge
 
Delphi XE4 Enterprise
 
#1

Deployment von Prism-Webseiten und MSSQL

  Alt 7. Feb 2011, 08:26
Datenbank: MSSQL • Version: 2008 Express • Zugriff über: Borland.Data.DbxClientDriver
Schönen Montag Morgen euch,

ich finde im Netz leider nirgends Informationen welche Dateien man für die Veröffentlichung zum Datenbankzugriff einer Prism-WebSeite mit dem "Borland.Data.DbxClientDriver" Treiber alles benötigt. Habe schon versucht die dll's in das System32 Verzeichnis am Server zu kopieren. Aber leider ohne Erfolg. Weiss jemand was man hier genau benötigt oder wo man Dokumentation dazu findet?


liebe Grüße,
Daniela
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

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

AW: Deployment von Prism-Webseiten und MSSQL

  Alt 7. Feb 2011, 09:12
Schau Dir mal im Reflector die Borland.Data - Assemblies an. Dort unter Referenzen steht, welche anderen Assemblies von dieser benötigt werden.

Alles, was nicht System.* ist, muss dann entweder auf dem Zielsystem vorhanden und im GAC (Global Assembly Cache) installiert sein, oder aber die Assemblies müssen im /bin - Verzeichnis Deiner Webanwendung liegen.

Aber mal ne Frage am Rande: DbExpress auf .NET ist so unnötig wie ein Kropf. Es setzt auf ADO.NET auf, für das es sowieso für jede Datenbank schon einen besseren(!) Treiber gibt, es kann kein Entity Framework- oder Linq to SQL-Support und zieht somit eine zusätzliche Schicht über ADO.NET rein, die weniger kann und mehr Bugs einführt. Wieso setzt man sowas allen Ernstes ein, wenn man eine (kostenfreie) Schicht drunter ohne Komfortverlust, mit mehr Features und Performanter arbeiten kann?
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Daniela.S
Daniela.S

Registriert seit: 1. Mär 2008
Ort: Niederösterreich
226 Beiträge
 
Delphi XE4 Enterprise
 
#3

AW: Deployment von Prism-Webseiten und MSSQL

  Alt 7. Feb 2011, 11:46
Die Webseite verbindet sich mit einem DataSnap Server.
Was würdest du denn stattdessen nehmen?
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

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

AW: Deployment von Prism-Webseiten und MSSQL

  Alt 7. Feb 2011, 13:14
Yikes.. DataSnap.. noch sowas was man ned braucht

Das Problem was DS hat ist a) der Preis und b) die Scaling-Möglichkeiten.

DataSnap skaliert solange gut, wie man 1.) mehr CPU's in eine Kiste stecken kann und 2.) mehr Ram in die Kiste stecken kann. Nur irgendwo ist bei CPU's und RAM halt mal physikalisch Schluss - Wirtschaftlich ist die Grenze schon eher erreicht. Für den Preis von einer richtig großen Kiste bekommt man 20 bis 30 kleinere. Nur lässt sich DataSnap da dann nicht sauber drauf verteilen. Um letzen Endes noch Performance aus einer Maschine raus zu holen sollte die Datenbank auf dem gleichen Rechner liegen (was für n-Tier ja eigentlich schonmal per se Schwachfug ist).

Für den gleichen Preis wie DataSnap (will heissen Differenz zwischen Upgrade auf Delphi Pro gegenüber Enterprise, bei den Vollversionen ist das noch schlimmer) bekommt man andere Pakete, die nicht nur vertikal (d.h. mit der Größe eines Einzelsystems) sondern tatsächlich horizontal (über mehrere Server hinweg) skalieren, dabei noch ein gescheites Loadbalancing mitbringen und vor allem ohne Buggy-Zwischenkomponenten ansprechbar sind.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Daniela.S
Daniela.S

Registriert seit: 1. Mär 2008
Ort: Niederösterreich
226 Beiträge
 
Delphi XE4 Enterprise
 
#5

AW: Deployment von Prism-Webseiten und MSSQL

  Alt 7. Feb 2011, 13:37
Hallo Sebastian,

ist mir schon klar dass es sicher auch bessere Produkte gibt, vor allem wenn es die eigenen sind. Auch wenn es nicht toll ist, aber die Datenbanken werden auf dem gleichen Rechner liegen, weil sie eine Kopie derer sind an der wir arbeiten. Es geht hier nicht um eine Webseite mit 100.000 Zugriffen täglich. Derzeit reden wir eher von unter 50 Zugriffen täglich. Wenn ich die Akzeptanz der Seite mal so weit steigern kann, dass wir auf 1000 kommen wär' das schon gut. Jedoch wird der DS Server noch einige andere Business Funktionen zusammenfassen die derzeit Kreuz und Quer verteilt sind. Von daher kommt aber auch kein übermäßiger Traffic zustande.

Jede Software hat seine Vor- und Nachteile. Wir starten jetzt einmal mit DS, weil alles im Haus ist. Software, Hardware, sowie Know How. Wie es in einigen Jahren aussieht wird man dann ja sehen... DA ist sicher eine Option in Zukunft.


lg,
Daniela
  Mit Zitat antworten Zitat
Benutzerbild von Daniela.S
Daniela.S

Registriert seit: 1. Mär 2008
Ort: Niederösterreich
226 Beiträge
 
Delphi XE4 Enterprise
 
#6

AW: Deployment von Prism-Webseiten und MSSQL

  Alt 9. Feb 2011, 14:36
Ich muss da noch mal nachfragen...

Irgendwie bekomme ich das Installieren der Assemblies in den GAC nicht hin. Mit dem gacutil Tool von Microsoft habe ich die "Shared Assemblies" installiert. Sagt auch brav sie seien installiert aber die Webseite findet nach wie vor DbxClientDriver nicht. Nachdem Mono auf dem Server auch drauf ist, habe ich das Gleiche unter Mono gemacht. Auch hier die Meldung dass es installiert wurde.

Ein "bin" Verzeichnis habe ich in meiner Webseite nicht.

Zuletzt habe ich die Assemblies per Hand nach "C:\Windows\assembly" kopiert. Bis zum Neustart des Servers hat es funktioniert.

Weiss jemand vielleicht einen Rat???
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

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

AW: Deployment von Prism-Webseiten und MSSQL

  Alt 9. Feb 2011, 14:55
Ein "bin" Verzeichnis habe ich in meiner Webseite nicht.
Wie soll das dann bitte laufen?? Irgendwohin muss das Zeug doch kompiliert werden.

Und reden wir hier von einem "Website" oder "Web application" Projekt? Ich hoffe inständig von letzterem. ASP.NET mit Website ist unberechenbar und kompiliert gerne irgendenen Schund zusammen (wenn er überhaupt kompiliert und damit nicht bis zur Runtime wartet...). - Und er vergisst beim Deployment gerne Abhängigkeiten. Bei einem Web Application Projekt macht man Rechtsklick -> Publish und der packt alle benötigten Assemblies sauber zusammen.

Irgendwie bekomme ich das Installieren der Assemblies in den GAC nicht hin. Mit dem gacutil Tool von Microsoft habe ich die "Shared Assemblies" installiert. Sagt auch brav sie seien installiert aber die Webseite findet nach wie vor DbxClientDriver nicht.
1.) Wie ist denn die genaue Fehlermeldung?
2.) Was sagt denn ein "gacutil -l" ? Stehen da die Borland.xxx Assemblies drin?
3.) Wenn ja: Stimmen die Versionen (inkl. Public Key Token) mit denen aus Deinen Projekt-Referenzen überein?
4.) Hast Du mit dem Reflector geguckt, welche anderen Assemblies von den von Dir referenzierten Borland.* - Assemblies referenziert werden und die auch in den GAC gelegt?
Hilft ja nix wenn er die Borland.xyz zwar findet, aber nicht laden kann weil die von xyz benötigte Borland.abc fehlt.

Zuletzt habe ich die Assemblies per Hand nach "C:\Windows\assembly" kopiert. Bis zum Neustart des Servers hat es funktioniert.
Autsch. Im GAC darf man nie, never ever von Hand rumfpuschen. Das ist schliesslich kein normaler Ordner sondern ein verwalteter Code-Storage. Das gibt die hübschesten, nicht nachvollziehbaren Seiteneffekte. Der beste wäre noch, dass er gar kein Assembly mehr findet. Im Normalfall wird das System aber eher im laufenden Betrieb wenn er den Cache neu organisiert mal das eine, mal das andere Assembly zufällig verlieren.
Wenn solche Fehler auftreten: .NET komplett(!) de- und neu installieren. Reparaturinstallation hilft Erfahrungsgemäß auch nix.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Daniela.S
Daniela.S

Registriert seit: 1. Mär 2008
Ort: Niederösterreich
226 Beiträge
 
Delphi XE4 Enterprise
 
#8

AW: Deployment von Prism-Webseiten und MSSQL

  Alt 9. Feb 2011, 15:07
Hmm, ok es ist eine Webseite...

dann werde ich das Ganze mal in eine Web Anwendung zusammenfassen...



Der genaue Wortlaut der Fehlermeldung:
"Unable to find the requested .Net Framework Data Provider. It may not be installed. "
Line 425: providerFactory := DbProviderFactories.GetFactory( 'Borland.Data.DbxClientDriver' );
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

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

AW: Deployment von Prism-Webseiten und MSSQL

  Alt 9. Feb 2011, 15:14
AH, andere Baustelle.
Er findet nicht das Assembly nicht, sondern die DbProviderFactory aus dem Assembly.

Folgendes in der Web.config sollte helfen:
Code:
<system.data>
    <DbProviderFactories>
      <add name="Datasnap AdoDbx Data Provider" invariant="Borland.Data.DbxClientDriver" description=".Net Framework Data Provider for Datasnap" type="Borland.Data.TAdoDbxDatasnapProviderFactory, Borland.Data.DbxClientDriver, Version=14.0.0.0, Culture=neutral, PublicKeyToken=91d62ebb5b0d1b1b" />
    </DbProviderFactories>
  </system.data>
Die Version (und ggf. PublicKeyToken) entsprechend Deiner Version anpassen. Dann findet der FactoryProvider nämlich die Factory auch.

Auf der Entwicklungsmaschine sollte der Eintrag durch die Installation schon in der machine.config stehen. Den kannst Du daraus auch 1:1 kopieren.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Daniela.S
Daniela.S

Registriert seit: 1. Mär 2008
Ort: Niederösterreich
226 Beiträge
 
Delphi XE4 Enterprise
 
#10

AW: Deployment von Prism-Webseiten und MSSQL

  Alt 9. Feb 2011, 15:48
Super! Vielen lieben Dank!

Das mit der Web-Applikation muss ich mir näher anschauen. So einfach rüberkopieren war wohl nicht *gg*
Scheinbar gibt's es da dann einige Assemblies nicht. zb System.Web.Script.Serialization für den JavaScriptSerializer...

Danke, damit ist mir echt schon mal geholfen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 17:28 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