Toon posts:

[PS/Postgres] Providerprobleem

Pagina: 1
Acties:

Onderwerpen


  • YellowOnline
  • Registratie: januari 2005
  • Laatst online: 27-06 20:15

YellowOnline

BEATI PAVPERES SPIRITV

Topicstarter
Ik probeer al dagen een verbinding tot stand te brengen met een postgreSQL DB maar slaag er maar niet in. Alvorens ik huilend door het raam van de tiende verdieping spring toch even hier langskomen. Probleem in een notendop: ik ben echt niet vertrouwd genoeg met databases :'(

PowerShell:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[system.reflection.assembly]::LoadWithPartialName("System.Data")

$SqlProvider  = "PostgreSQL30 Unicode"
$SqlServer    = "netdisco.blablabla.com"
$SqlDBName    = "netdisco"
$SqlPort      = 5432
$SqlTable    = "node_nbt"
$SqlColumn  = "nbname"
$SqlSelection = "ip,domain,time_last"
$SqlQuery     = "SELECT $SqlSelection FROM $SqlTable WHERE $SqlColumn = '$HostName'"
$SqlUserName  = "blabla"
$SqlPassword  = "blabla"


$SqlConnection = New-Object System.Data.OleDB.OleDBConnection
$SqlConnection.ConnectionString = "Provider=$SqlProvider;Data Source=$SqlServer;Location=$SqlDBName;UID=$SqlUserName;Password=SqlPassword;Timeout=1000;"

$SqlConnection.Open()


Het loopt ergens fout met die Provider. Ik heb psqlodbc geïnstalleerd en de driver is zichtbaar bij ODBC in Windows en werkt; met een GUI zoals navicat kan ik aan alles aan; maar in mijn script loop ik altijd maar aan tegen volgende probleem:

code:
1
2
3
4
5
6
PS C:\ $SqlConnection.Open()
Exception calling "Open" with "0" argument(s): "The 'PostgreSQL30 Unicode' provider is not registered on the local machine."
At line:1 char:20
+ $SqlConnection.Open <<<< ()
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException


Ik heb alle mogelijke namen van die driver al gegeven: PostgreSQL30, PostgreSQL, PostgreSQL.1, PostgreSQL ANSI, PostgreSQL Unicode,... en de error blijft dezelfde.

Google helpt niet echt: de meeste mensen met dit probleem hebben gewoon geen driver geïnstalleerd (wat hier wél het geval is). De combinatie met PowerShell geeft zelfs géén hits. Voor MS SQL vind ik alles wat ik wil, maar in het combineren van PostgreSQL met PowerShell ben ik blijkbaar een pionier :+ Nu: ik vermoed dat de oplossing voor de hand ligt, maar dan wel voor iemand die dagelijks met DBs werkt. Wat bij mij niet het geval is: dit is uitzonderlijk dat mijn scripts beroep moeten doen op een externe DB (in casu: om via netdisco op basis van hostname "IP", "domain" en "last seen" terug te krijgen.

PS. Dit staat in PRG ipv. in WOS omdat de dotnetters vooral hier rondlopen.

Intel i7 8700K | G.Skill SniperX 3200MHz 2x8GB | MSI Z370 PC Pro | Gainward GTX 1070 | Fractal Design Define XL | LG BH10LS30 | Cherry MX Red | Logitech G500 | Thermaltake Smart M850W | Logitech X-530 | LG 34UM58 | Samsung EVO 500GB | 2x Seagate 4TB


  • _js_
  • Registratie: oktober 2002
  • Laatst online: 25-09 03:02
Je schrijft dat je een ODBC driver hebt geïnstalleerd, maar in je script probeer je verbinding te maken via OleDB. Ik denk dat daar iets niet klopt.

  • YellowOnline
  • Registratie: januari 2005
  • Laatst online: 27-06 20:15

YellowOnline

BEATI PAVPERES SPIRITV

Topicstarter
_js_ schreef op donderdag 30 september 2010 @ 16:57:
Je schrijft dat je een ODBC driver hebt geïnstalleerd, maar in je script probeer je verbinding te maken via OleDB. Ik denk dat daar iets niet klopt.
Oeps, da's nog een restant van al mijn pogingen om me te verbinden.

Intel i7 8700K | G.Skill SniperX 3200MHz 2x8GB | MSI Z370 PC Pro | Gainward GTX 1070 | Fractal Design Define XL | LG BH10LS30 | Cherry MX Red | Logitech G500 | Thermaltake Smart M850W | Logitech X-530 | LG 34UM58 | Samsung EVO 500GB | 2x Seagate 4TB


  • YellowOnline
  • Registratie: januari 2005
  • Laatst online: 27-06 20:15

YellowOnline

BEATI PAVPERES SPIRITV

Topicstarter
Bump met de oplossing. Ter referentie voor wie ooit een gelijkaardig probleem heeft, want ooit moeten alle win sysadmins hier toch PS leren :p

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$HostName = "blablabla" #een of andere hostname
[system.reflection.assembly]::LoadWithPartialName("System.Data")
$SqlProvider = "{PostgreSQL Unicode}"
$SqlServer = "netdisco.blablabla.com"
$SqlDBName = "netdisco"
$SqlPort = 5432
$SqlTable = "node_nbt"
$SqlColumn = "nbname"
$SqlSelection = "ip,domain,time_last"
$SqlQuery = "SELECT $SqlSelection FROM $SqlTable WHERE $SqlColumn = '$HostName'"
$SqlUserName = "blabla"
$SqlPassword = "blabla"
$SqlConnectionString ="Driver=$SqlProvider;Server=$SqlServer;Port=$SqlPort;Database=$SqlDBName;UID=$SqlUserName;PWD=$SqlPassword;"
$SqlConnection = New-Object System.Data.Odbc.OdbcConnection
$SqlConnection.ConnectionString = $SqlConnectionString
$SqlCommand = $SqlConnection.CreateCommand()
$SqlCommand.Connection.Open()
$SqlCommand.CommandText = $SqlQuery
$SqlAdapter = New-Object System.Data.Odbc.OdbcDataAdapter $SqlCommand
$SqlDataset = New-Object System.Data.DataSet
$SqlAdapter.Fill($SqlDataSet)
$SqlCommand.Connection.Close()
$SqlDataSet.Tables[0] | ForEach-Object  {$hostIP = $_.ip; $hostDomain = $_.domain; $hostLastSeen = $_.time_last; }
Return $hostIP
Return $hostDomain
Return $hostLastSeen


Ooit heb ik tijd om een PS lexer te maken ... ooit...

Intel i7 8700K | G.Skill SniperX 3200MHz 2x8GB | MSI Z370 PC Pro | Gainward GTX 1070 | Fractal Design Define XL | LG BH10LS30 | Cherry MX Red | Logitech G500 | Thermaltake Smart M850W | Logitech X-530 | LG 34UM58 | Samsung EVO 500GB | 2x Seagate 4TB



Nintendo Switch (OLED model) Apple iPhone 13 LG G1 Google Pixel 6 Call of Duty: Vanguard Samsung Galaxy S21 5G Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True

Tweakers maakt gebruik van cookies

Bij het bezoeken van het forum plaatst Tweakers alleen functionele en analytische cookies voor optimalisatie en analyse om de website-ervaring te verbeteren. Op het forum worden geen trackingcookies geplaatst. Voor het bekijken van video's en grafieken van derden vragen we je toestemming, we gebruiken daarvoor externe tooling die mogelijk cookies kunnen plaatsen.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Forum cookie-instellingen

Bekijk de onderstaande instellingen en maak je keuze. Meer informatie vind je in ons cookiebeleid.

Functionele en analytische cookies

Deze cookies helpen de website zijn functies uit te voeren en zijn verplicht. Meer details

janee

    Cookies van derden

    Deze cookies kunnen geplaatst worden door derde partijen via ingesloten content en om de gebruikerservaring van de website te verbeteren. Meer details

    janee