AGB  ·  Datenschutz  ·  Impressum  







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

ASP.Net ?

Ein Thema von stahli · begonnen am 18. Apr 2009 · letzter Beitrag vom 6. Jun 2009
Antwort Antwort
Seite 3 von 4     123 4      
Scooty78

Registriert seit: 3. Jul 2008
Ort: Düren
41 Beiträge
 
RAD-Studio 2009 Ent
 
#21

Re: ASP.Net ?

  Alt 1. Mai 2009, 19:01
zur PDF Erstellung kann ich Dir iTextSharp empfehlen, alles was mit PDf's geht kannst Du mit dieser Bibiothek machen und das beste ist, Sie ist absolut free!!
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#22

Re: ASP.Net ?

  Alt 15. Mai 2009, 22:40
Mal wieder ein Zwischenbericht für "Nachahmer":

Also ich habe ein Testprojekt Asp-Net + BlackFish-Datenbank lokal zum laufen bekommen.

Dazu hatte ich wie oben beschrieben, verschiedene Testversionen von Codegear installiert und nach einem "guten Gefühl" RAD Studio 2009 Prof gekauft.
(Übrigens bei better office, den Überweisungsbeleg gemailt und am selben Tag den Freischaltcode erhalten - besser geht es nicht!)

Das alte Testgeraffel habe ich deinstalliert (zumindest dachte ich das) und RAD 2009 installiert.
Damit konnte ich einige Tage gut arbeiten, bis ich auf einmal die Meldung erhielt, mein Delphi Prism bzw. BlackFish wäre nicht registriert.
Codegear hat mir empfohlen, die alten Produkte nach der Anleitung http://support.codegear.com/article/39426] http://support.codegear.com/article/39426[/url] zu deaktivieren.

Da mein Vista ohnehin einige Probleme hatte habe ich statt dessen den PC komplett neu installiert.
Vista machte wohl einige Probleme, aber RAD 2009 war insgesamt kein Problem.

Unbedingt Firewall und Virenscanner ausschalten. Zuerst SDK installieren, dann RAD Studio (dabei ist der BlackFish) und dann Delphi Prism (muss extra geladen werden, das bietet aber das Installationsmenü von RAD 2009 direkt an).

Der Cassini-Server war leicht zu starten:
Unter C:\Program Files\CodeGear\Delphi Prism\Bin findet sich der Ordner Cassini.
Den habe ich nach C:\ kopiert (ist aber sicher nicht notwendig).
Dort einfach CassiniOxygene.Exe starten.
Dann noch einen Ordner C:\Inetpub\wwwroot\OxygeneWeb erstellen und im Cassini-Fenster eintragen.
Cassini starten (sollte laufen) und wieder beenden.

Wenn jetzt mit Delphi Prism eine Asp.Net-Anwendung erstell wird, wird automatisch der Cassini-Webserver gestartet und die Anwendung im aktuellen Browser ausgeführt.

Die ganze Sache ist etwas gewöhnungsbedürftig und ein passendes Buch Mangelware (man muss halt sehen, wie man sich durch C#- und VB-Beispiele "wurschtelt") aber der Ansatz ist schon nicht übel.
So leicht (wenn man das Prizip erst mal verstanden hat) konnte man sicher noch nie Webanwendungen entwickeln.

Also Interessenten dient das vielleicht als Richtungsweise für eigene Versuche...

Stahli
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#23

Re: ASP.Net ?

  Alt 15. Mai 2009, 22:52
Jetzt will ich aber selbst noch etwas fragen:

Lokal läuft mein Asp.Net-Projekt incl. BlackFish-Datenbank.
Auf "Matt´s Server" habe ich die Default-Seite auch bereits lauffähig.
Die Hilfe von Matt war wirklich super! Danke nochmal!


Es mussten zwei Punkte berücksichtigt werden:

1) In der Web.Config musste eingefügt werden:
Delphi-Quellcode:
   <system.web>
    <customErrors mode="Off"/> <-------------- dies
2) Im Menüpunkt "WebSite veröffentlichen" musste "Aktualisierbarkeit dieser vorkompilierten Site zulassen" DEAKTIVIERT werden. (Andernfalls konnte der Oxygene-behind-code vom Server nicht verarbeitet werden.)

Inzwischen startet die Web-Anwendung auf dem Server korrekt.
Jedoch ist ein Zugriff auf die BlackFish-Datenbank noch nicht möglich: "Der angeforderte .Net Framework-Datenprovider kann nicht gefunden werden. Er ist ggf. nicht installiert."
(siehe Bild)

Kann mir jedmand sagen, wie ich die BlackFish-Datenbank auf dem Server "in das Projekt eingebunden" nutzen kann?

Danke
Stahli
Miniaturansicht angehängter Grafiken
datenprovider_170.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#24

Re: ASP.Net ?

  Alt 15. Mai 2009, 23:12
Hast Du ein 'Website' Projekt oder ein 'Web Application' Projekt?
Du musst allerdings auf jeden Fall den Blackfish Provider (also die Zugriffs-Assembly) in der Web.Config registrieren. Wie das Prinzipiell funktioniert findest Du hier.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#25

Re: ASP.Net ?

  Alt 15. Mai 2009, 23:42
1) ASP.NET-WebSite

2) Hmm, versuche ich mal zu verstehen...
Die Datenbank selbst habe ich noch nicht auf dem Server. Auf meinem ich noch direkt zu: E:\...
Das muss ich natürlich noch ändern in den selben Ordner wie die aspx-Datei - oder ohne Ordnerangabe...?
Aber die Fehlermeldung verstehe ich erst mal so, dass ein Zugriff auf die DB selbst noch gar nicht versucht wird...
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#26

Re: ASP.Net ?

  Alt 15. Mai 2009, 23:55
Zitat von stahli:
1) ASP.NET-WebSite

2) Hmm, versuche ich mal zu verstehen...
Die Datenbank selbst habe ich noch nicht auf dem Server. Auf meinem ich noch direkt zu: E:\...
Das muss ich natürlich noch ändern in den selben Ordner wie die aspx-Datei - oder ohne Ordnerangabe...?
Aber die Fehlermeldung verstehe ich erst mal so, dass ein Zugriff auf die DB selbst noch gar nicht versucht wird...
Application wäre besser. Die WebApplication Projekte sind flexibler zu handeln.

Und ja, der Zugriff wird nicht versucht. Aber wenn die Anwendung ausgeführt werden soll, dann müssen alle verwendeten Assemblies vorhanden und auffindbar sein. Das heisst die assembly muss bei der Anwendung bei den Executables liegen und es muss in der Web.config registriert sein.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#27

Re: ASP.Net ?

  Alt 16. Mai 2009, 01:16
1) Ich weiß nicht, was Du mit WebApplication meinst...
Ich erstelle doch eigentlich eine Asp.Net-Application - meine ich.
Delphi Prism bietet die Möglichkeiten im Bild.
Mir ist jetzt noch aufgefallen, dass Net-Framework 3.5 voreingestellt ist. DerWebserver nutzt (wie ich das verstanden habe) 2.0.
Kann das ein Problem sein?

2) Ich habe hier einen Link gefunden, der auf das Thema eingeht. Anscheinend muss man auf dem Webserver erst noch explizit den BlackFish installieren und starten (ich dachte, eine DLL dazu legen würde reichen). Jetzt erscheint mir das ganze doch zu kompliziert
Wäre es weniger aufwändig, MySQL zu benutzen? Das bietet "Matt" ja mit an.
BlackFish habe ich bísher eigentlich nur genutzt, weil es bei RAD 2009 mit dabei ist... Die DB unter MySQL neu anzulegen sollte eigentlich nicht das Problem sein.
Miniaturansicht angehängter Grafiken
neue_website_777.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#28

Re: ASP.Net ?

  Alt 16. Mai 2009, 01:37
Zitat von stahli:
1) Ich weiß nicht, was Du mit WebApplication meinst...
Ich erstelle doch eigentlich eine Asp.Net-Application - meine ich.
Delphi Prism bietet die Möglichkeiten im Bild.
Mir ist jetzt noch aufgefallen, dass Net-Framework 3.5 voreingestellt ist. DerWebserver nutzt (wie ich das verstanden habe) 2.0.
Kann das ein Problem sein?
WebSite <> WebApplication.
Du solltest nicht über Datei->Neu->Webseite gehen sondern über Datei->Neu->Projekt (!). Dort wählst Du aus Delphi Prism, Web, ASP.NET Webanwendung.
Diese Dinger unterscheiden sich gewaltig. Webapplikationen sind um längen flexibler als Websites. Insbesondere werden WebApplications als VisualStudio Solutions verwaltet und nicht nur als 'lose rumfliegendes Verzeichnis'. Du bist nicht auf das App_Code Verzeichnis angewiesen sondern kannst Deinen Code besser strukturieren. Du kannst hier auch Referenzen auf die benötigten Assemblies (Borland.Data.BlackfishSQL.LocalClient) leichter verwalten etc. Es sollte auf deinem WebSite-Verzeichnis in der Projektverwaltung eine Option 'Convert to Application project) geben. Damit sollte die Umstellung kein Problem sein.

Wegen der .NET Version brauchst Du Dir in aller Regel keine Gedanken machen.
.NET 3.5 ist die Runtime von .NET 2.0 plus ein paar Assemblies. Wenn Du z.B. LINQ nutzt, dann musst Du halt einfach noch die System.Core.dll zu Deiner Anwendung mit ausliefern. Bzw. entsprechend alle 3.5 Assemblies, die auf dem Zielrechner noch nicht vorhanden sind. Auch hier gilt wieder: Liegen die in einem Unterverzeichnis und sind in der WebApplication(!) referenziert werden die auch gefunden. Da es keine Projektdatei mit WebSite Projekten gibt geht das da halt nicht so einfach sondern nur mit viel Handarbeit.

Zitat von stahli:
2) Ich habe hier einen Link gefunden, der auf das Thema eingeht. Anscheinend muss man auf dem Webserver erst noch explizit den BlackFish installieren und starten (ich dachte, eine DLL dazu legen würde reichen). Jetzt erscheint mir das ganze doch zu kompliziert
Wäre es weniger aufwändig, MySQL zu benutzen? Das bietet "Matt" ja mit an.
BlackFish habe ich bísher eigentlich nur genutzt, weil es bei RAD 2009 mit dabei ist... Die DB unter MySQL neu anzulegen sollte eigentlich nicht das Problem sein.
Naja, Du musst die DLL dazu legen, den Provider (also das Assembly) registrieren (in der Web.Config) und den Connection String richtig setzen. Ein paar Hinweise dazu findest Du auch hier.

Prinzipiell ist der Aufwand für MySQL ähnlich hoch. Du brauchst den MySQL Provider, musst diesen referenzieren und anziehen. Nur die DLL musst Du bei Matt's Servern wahrscheinlich(!) dazulegen weil die (ebenso wahrscheinlich) schon im GAC registriert ist. Im prinzip schenkt sich beides nichts.

In der Global.asax kannst Du dann den Embedded Blackfish Server starten (dort gibt es ein Event wenn die Webanwendung hochfährt, das ist der richtige Zeitpunkt).
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#29

Re: ASP.Net ?

  Alt 17. Mai 2009, 13:27
Hallo Phoenix,

ich komme einfach nicht weiter
Daher nochmal Nachfragen zum besseren Verständnis:

1) Diese WebApplication finde ich im Prism nicht (siehe Bild).
Ich würde jetzt erst mal bei Ast.Net-Website bleiben wollen - das läuft soweit wenigstens schon mal...

2) Auf meinem lokalen Rechner funktionierte ja bereits alles. Ich habe die Datenbankverbindung im Server-Explorer eingerichtet (mit Verweis auf einen festen Ordner auf der Platte).
In der Web.Config hat Prism das eingetragen:
Delphi-Quellcode:
<connectionStrings>
  <add name="E:\Programme\WebSiteEt\EtConnectionString" connectionString="host=LocalHost;user=sysdba;password=masterkey;database=E:\Programme\WebSiteEt\Et" providerName="Borland.Data.BlackfishSQL.LocalClient"/>
</connectionStrings>
Der Providername ist ja auch schon angegeben.
Frage1: Reicht das oder fehlt da noch etwas?

Nun habe ich den "Ordner" der Datenbank in der Web.Config geändert in "database=|DataDirectory|Et", so dass der Web-Unterordner App_Data verwendet wird. Lokal funktioniert das offenbar.
Delphi-Quellcode:
<connectionStrings>
  <add name="E:\Programme\WebSiteEt\EtConnectionString" connectionString="host=LocalHost;user=sysdba;password=masterkey;database=|DataDirectory|Et" providerName="Borland.Data.BlackfishSQL.LocalClient"/>
</connectionStrings>
Frage2: Ist das der richtige Weg, in der Web.Config herumzuändern oder gibt es dafür irgendwo Eigenschaften, die man einstellen kann/sollte?

Das Anlegen einer neuen Datenbankverbindung mit dem Zeichen "|" war im Server-Explorer nicht möglich.
Dass im Namen des ConnectionStrings noch diese alte Ordnerbezeichnung enthalten ist, sollte nicht stören, denke ich.
Frage3: Um diesem Connectionstring einen anderen Namen zuzuweisen, muss ich diesen auch in der Web.Config ändern und nachträglich an allen Stellen in der Default.aspx (alle SqlDataSource-Verbindungen) oder gibt es irgendwo eine Eigenschaft, wo ich den Namen zentral ändern kann (habe halt nichts gefunden)?


Auf dem Webserver erscheint noch der selbe Fehler: Der angeforderte .Net Framework-Datenprovider kann nicht gefunden werden. Er ist ggf. nicht installiert.

Im Bild "et" habe ich einmal alle Dateien aufgeführt, die im Projekt enthalten sind (teilw. doppelt, da ich nicht weiß, was wohin gehört).
M.E. muss eigentlich wohl nur die "Borland.Data.BlackfishSQL.LocalClient.dll" im bin-Ordner liegen.

Frage4: Muss ich die jetzt noch extra registrieren und/oder starten (wo und wie)?

Frage5: Wohin gehört die slip-Datei?


Danke für Deine Hilfe!
Stahli
Miniaturansicht angehängter Grafiken
neues_projekt_132.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#30

Re: ASP.Net ?

  Alt 17. Mai 2009, 22:30
So Entwarnung!

Es war sehr mühsam, sich alles zusammenzusuchen und alles habe ich auch noch nicht verstanden, aber der Blackfish läuft jetzt (eingebunden in meinem Projekt) auf "Matt´s" Server!

In der Web.Config musste der ConnectionString und der Datenprovider definiert werden und dann lief es

Delphi-Quellcode:
<connectionStrings>
  
  
  <add name="BlackfishSqlAspNet" connectionString="database=|DataDirectory|XYZ.jds;user=sysdba;password=masterkey" providerName="Borland.Data.BlackfishSQL.LocalClient"/>
</connectionStrings>

<system.data>
  <DbProviderFactories>
    <remove invariant="Borland.Data.BlackfishSQL.LocalClient"/>
    <add name="BlackfishSQL Local Provider"
    invariant="Borland.Data.BlackfishSQL.LocalClient" description="Provider with inprocess database Server"
    type="Borland.Data.DataStore.DataStoreProviderFactory, Borland.Data.BlackfishSQL.LocalClient, Version=8.0.0.0, Culture=neutral, PublicKeyToken=91d62ebb5b0d1b1b"/>
  </DbProviderFactories>
</system.data>
In früheren Versuchen hatte ich im Formular den ReportViewer für Tests mit PDF verwendet und dann aber wieder gelöscht. In der Web.Config waren allerdings noch mehrere Einträge dazu enthalten, die ich einfach alle gelöscht habe. Ansonsten hätte das Projekt immer noch entsprechende Assemblies benötigt.

Die Veröffentlichung des Projektes sollte man auf eine lokale Platte durchführen (z.B. in einen Ordner "wwwXYZ") anstatt direkt über FTP. Das geht schneller und unproblematischer. Das Ergebnis aus diesem Ordner kann man dann mit einem FTP-Programm extra auf den Server schieben. Dann kann man auch selbst entscheiden, welche Dateien neu übertragen werden müssen. Außerdem kann es ansonsten Probleme geben, da der BIN-Ordner auf dem Server u.U. nicht gelöscht werden kann.

Beim Veröffentlichen des Projektes (auf die Platte) unbedingt "Aktualisierbarkeit dieser vorkompilierten Site zulassen" DEAKTIVIEREN, da sonst der Server später den "Delphi-Quelltext" nicht compilieren kann, jedenfalls nicht, wenn dort kein Oxygene-Compiler installiert ist.

Folgende Dateien müssen dann auf dem Server vorliegen:

[root]
Default.aspx
PrecompiledApp.config
Web.config

[App_Data]
Datenbank.jds
Datenbank_LOGA_000000000
Datenbank_LOGA_ANCHOR

[bin]
! App_Web_irgendwas.dll (neu nach jeder Kompilierung)
! default.aspx.irgendwas.compiled (neu nach jeder Kompilierung)
BlackfishSQLPro.slip (Lizenzdatei)
Borland.Data.BlackfishSQL.LocalClient.dll
Borland.Delphi.dll
Borland.VclRtl.dll
itextsharp.dll (falls man iTextSharp benutzt)

(Die Dateien in der root und die beiden ersten Dateien unter bin müssen immer neu übertragen und ersetzt werden.)

Soweit mein Ergebnis nach 3-4 Tagen Suche und Tests. Kann sein, dass noch etwas fehlt oder ungenau ist, aber mein Projekt läuft jetzt so
Vielleicht hilft es ja anderen, etwas schneller zum Zuge zu kommen.

Danke nochmal an Phönix!

Stahli

PS: dieser Beitrag war sehr hilfreich
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 10:09 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