Avatar billede kulashaker Nybegynder
26. januar 2006 - 15:19 Der er 10 kommentarer og
1 løsning

psqlODBC i Visual Studio 2005

Hej,

Jeg forsøger at operere på en PostgreSQL database over netværk i Visual Studio 2005 - via ODBC. Applikationen skrives i C#. Visual kan via ODBC se databasen og dens indhold, men når jeg i min applikation forsøger at oprette forbindelse går det galt.

Jeg får følgende fejl: "ERROR[IM002][Microsoft][ODBC Driver Manager] Datakildenavnet blev ikke fundet, og der er ikke angivet en standarddriver."

Min connectionstring ser således ud: "provider=SQLODBC; data source=192.168.1.46; driver=PostgreSQL Unicode ODBC 8.01; initial catalog=postgres, user id=postgres, password=";

Jeg kan ikke få Visual til at genkende dsn (datakildenavn) som parameter til min connectionstring og er klar over at mit problem formenlig ligger i min connectionstring.

Håber at nogen her kan hjælpe,
Christian
Avatar billede arne_v Ekspert
26. januar 2006 - 20:27 #1
PROVIDER er OLE DB
DRIVER er ODBC
du skal nok ikke bruge begge

http://www.connectionstrings.com/

siger

"DRIVER={PostgreSQL};SERVER=ipaddress;port=5432;DATABASE=dbname;UID=username;PWD=password;"
Avatar billede arne_v Ekspert
26. januar 2006 - 20:32 #2
og hvorfor ikke http://gborg.postgresql.org/project/npgsql/projdisplay.php

(jeg har ikke brugt den, men generelt er rigtige .NET providere bedre end
ODBC og OLE DB i .NET)
Avatar billede kulashaker Nybegynder
27. januar 2006 - 10:56 #3
Hej Arne,

Cool - tak for dine svar. Jeg kigger på gborg som et alternativ..

Men hvordan med ting som Connection, DataAdapter og Commmand i applikationen, skal de operere fra ODBC eller OLEDB? (OdbcConnection henholdsvis OledbConnection etc.) Jeg går ud fra at de skal operere fra noget helt 3. hvis der anvendes gborg..

Og smid bare svaret som et svar, så får du ze points :-)
Christian
Avatar billede kulashaker Nybegynder
27. januar 2006 - 13:16 #4
For god ordens skyld vil jeg lige skrive hvordan løsningen ser ud. Via 'Properties' på ODBC datakilden kan man, under 'Advanced', definere den driver der anvendes. Derefter genereres der en connection-string som kan sættes direkte ind i koden og så virker det.

Min connection string kom til at se således ud: string ConnString = "Dsn=PostgreSQL Unicode;Driver={PostgreSQL Unicode};database=postgres;server=192.168.1.46;port=5432;sslmode=prefer;uid=postgres;readonly=0;protocol=6.4;fakeoidindex=0;showoidcolumn=0;rowversioning=0;showsystemtables=0;fetch=100;socket=8192;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=0;disallowpremature=0;trueisminus1=0;bi=0;byteaaslongvarbinary=0;useserversideprepare=0;lowercaseidentifier=0";

Men jeg vil nu stadig kigge på gborg som alternativ til ODBC.

Mvh
Christian C.
Avatar billede kulashaker Nybegynder
27. januar 2006 - 13:17 #5
Og i henhold til Connection, DataAdapter og Commmand opererer de via ODBC, altså OdbcConnection etc.
Avatar billede arne_v Ekspert
27. januar 2006 - 14:36 #6
Der er seperate klasser for forskellige providere

OdbcConnection, OdbcDataAdapter, OdbcCommand for ODBC

OracleConnection, OracleDataAdapter, OracleCommand for Oracle

NpgsqlConnection, NpgsqlDataAdapter, NpgsqlCommand for PostegreSQL (check lige navnet
i docs paa det du downloder)
Avatar billede arne_v Ekspert
27. januar 2006 - 14:41 #7
men de goer det samme
Avatar billede kulashaker Nybegynder
29. januar 2006 - 14:51 #8
Hej igen arne_v,

Ok, tak for svarene igen. Du må gerne lige smide et svar så jeg kan give dig dine point..

Mvh
Christian C.
Avatar billede arne_v Ekspert
29. januar 2006 - 15:59 #9
OK

har du faaet det til at virke ?
Avatar billede arne_v Ekspert
29. januar 2006 - 15:59 #10
om igen
Avatar billede kulashaker Nybegynder
29. januar 2006 - 16:32 #11
Yes, det har jeg. Har skrevet lidt om det efter dine første svar. Så det er fino! Jeg havde rod i min connection string og havde ikke fået defineret den rigtige driver. Så nu virker det med ODBC. Næste skridt bliver at kigge på gborg :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester