Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
mit asp.net auf eine postresql datenbank per odbc zugreifen
Zebes
myCSharp.de - Member



Dabei seit:
Beiträge: 459
Herkunft: NRW

Themenstarter:

mit asp.net auf eine postresql datenbank per odbc zugreifen

beantworten | zitieren | melden

hallo,

ich habe gerade mit asp.net angefangen und wollte nun gerne eine datenbank anbindung einrichten. als datenbank verwende ich postgresql und greife über die mitgelieferten odbc treiber zu.

solange ich mich in der testumgebung voom vs 2005 befinde funktioniert auch alles wunderbar. wenn ich nun das projekt für den iis veröffentlich und auf eine seite zugreife die aus der datenbank etwas ausliest bekomme ich den fehler:


ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.Odbc.OdbcException: ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified


ich habe irgend wo gelesen das ich einen "DSN" setzen muss. aber wo genau und was da nun drin stehehn muss weis ich nicht.

und wie gesagt, verwunderlich ist, dass es in der testumgebung funktioniert.

mfg
Zebes
private Nachricht | Beiträge des Benutzers
Feuerfalke
myCSharp.de - Member

Avatar #avatar-2476.png


Dabei seit:
Beiträge: 133
Herkunft: Nürnberg

beantworten | zitieren | melden

Wäre gut, wenn du das entsprechende Stück Code posten könntest, um zu sehen, wie du vorgehst.
private Nachricht | Beiträge des Benutzers
Zebes
myCSharp.de - Member



Dabei seit:
Beiträge: 459
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

ich habe das über den designer gemacht aber ok hier ist der entsprechende html teil:

das ist aus der web.config für den connection string

	<connectionStrings>
  <add name="TestConnectionString4" connectionString="Driver={PostgreSQL ANSI};database=Test;server=localhost;port=5432;uid=xxxx;pwd=xx;sslmode=disable;readonly=0;protocol=7.4;fakeoidindex=0;showoidcolumn=0;rowversioning=0;showsystemtables=0;fetch=100;socket=4096;unknownsizes=0;maxvarcharsize=254;maxlongvarcharsize=8190;debug=0;commlog=0;optimizer=1;ksqo=1;usedeclarefetch=0;textaslongvarchar=1;unknownsaslongvarchar=0;boolsaschar=1;parse=0;cancelasfreestmt=0;extrasystableprefixes=dd_;lfconversion=1;updatablecursors=1;disallowpremature=0;trueisminus1=0;bi=0;byteaaslongvarbinary=0;useserversideprepare=0;lowercaseidentifier=0;xaopt=1"
   providerName="System.Data.Odbc" />
 </connectionStrings>

und hier code von einer seite auf der sich ein gridview die daten aus der datenbank abholt

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="White"
        BorderColor="#999999" BorderStyle="Solid" BorderWidth="1px" CellPadding="3" DataKeyNames="id"
        DataSourceID="DemoDB" ForeColor="Black" GridLines="Vertical">
        <FooterStyle BackColor="#CCCCCC" />
        <Columns>
            <asp:BoundField DataField="interpret" HeaderText="interpret" SortExpression="interpret" />
            <asp:BoundField DataField="titel" HeaderText="titel" SortExpression="titel" />
            <asp:BoundField DataField="id" HeaderText="id" ReadOnly="True" SortExpression="id" />
        </Columns>
        <SelectedRowStyle BackColor="#000099" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
        <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
        <AlternatingRowStyle BackColor="#CCCCCC" />
    </asp:GridView>
    <asp:SqlDataSource ID="DemoDB" runat="server" ConnectionString="<%$ ConnectionStrings:TestConnectionString4 %>"
        ProviderName="<%$ ConnectionStrings:TestConnectionString4.ProviderName %>" SelectCommand="select * from meinecds;">
    </asp:SqlDataSource>

ich hoffe das hilft irgend wie weiter. wie gesagt, in der testumgebung von vs2005 läuft das einwandfrei. nur als veröffentlichte version auf dem iis nicht.

mfg
Zebes
private Nachricht | Beiträge des Benutzers
[email protected]
myCSharp.de - Member



Dabei seit:
Beiträge: 407

beantworten | zitieren | melden

Hi!

Ist auch auf dem Server auf dem der Zugriff nicht funktioniert der
Postgres-ODBC treiber installiert?

Probier mal eine System-Datenquelle (System-DSN) zu erstellen.
Postgres müßte dann eigentlich bei den ODBC-Treibern zu finden sein....

...bei MySQL war/ist das zu mindest so...

lg
private Nachricht | Beiträge des Benutzers
Zebes
myCSharp.de - Member



Dabei seit:
Beiträge: 459
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

da hatte ich gestern nach geschaut aber der ist da leider nicht zu finden und ich weiß auch nit wie ich den da hinzufügen kann.
private Nachricht | Beiträge des Benutzers
Zebes
myCSharp.de - Member



Dabei seit:
Beiträge: 459
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

hat denn noch keiner ein ähnliches problem gehabt? oder eine idee wie ich weiterkommen könnte?

mfg
Zebes
private Nachricht | Beiträge des Benutzers
[email protected]
myCSharp.de - Member



Dabei seit:
Beiträge: 407

beantworten | zitieren | melden

Na wenns bei dir am Entwicklungssystem funktioniert,
muß da der ODBC-Treiber installiert sein.

Und der ist am Server ebenfalls zu installieren.

Denn wenn kein Postgres-Treiber gelistet ist,
wird er auch nicht verwendet werden können.

Ev. könnte auch http://www.postgres.de/entwickler.whtml#ss etwas helfen.

lg
private Nachricht | Beiträge des Benutzers
Zebes
myCSharp.de - Member



Dabei seit:
Beiträge: 459
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

nur um das klar zustellen, mein entwicklungsrechner und der server auf dem der iis läuft sind die selbe maschiene.

danke für den link ich schaue mir den gleich mal an

mfg

Zebes
private Nachricht | Beiträge des Benutzers
Zebes
myCSharp.de - Member



Dabei seit:
Beiträge: 459
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

ok habe einen tip bekomen das bei einem 64 bit system die 32 bit treiber manchma nicht angezeigt werden weil sie im falshcen verzeichnis liegen. der witz ist nun bin ich in das syswow64 verzeichnis gegangen und dort kann man das admin tool aufrufen in dem ich vorher die treiber nicht gefunden hatte. aber nun sind die installiert.

dann werde ich das jetzt mal testen und vielen dank für die hilfe

mfg
Zebes
private Nachricht | Beiträge des Benutzers
Zebes
myCSharp.de - Member



Dabei seit:
Beiträge: 459
Herkunft: NRW

Themenstarter:

beantworten | zitieren | melden

das ha tmich leider nicht weitergebracht :(. angeblich soll es daran liegen, das ich win64 habe und die treiber nur für x86 sind un dich daher auch mein programm dafür compilieren muss. aber in asp.net kann man das nirgends einstellen oder?

mfg
Zebes
private Nachricht | Beiträge des Benutzers