public inbox for [email protected]  
help / color / mirror / Atom feed
From: Dave Cramer <[email protected]>
To: Adrian Grucza <[email protected]>
Cc: Jon Raiford <[email protected]>
Cc: PostgreSQL mailing lists <[email protected]>
Subject: Re: How to create an ODBC datasource in CI
Date: Mon, 1 Apr 2024 16:20:18 -0400
Message-ID: <CADK3HHKv1t-qGWct3FQvU3STPoMG0dEbAFDMtTtL1Qxp0ZOyWw@mail.gmail.com> (raw)
In-Reply-To: <CADF4wWrUbUMqKVTQbEQ9eKftjB68igwUWG+nKj_LQs5-vkYZFQ@mail.gmail.com>
References: <CADK3HH+nrL9S7vLfM0ExQ4Wq-nPZhS1mSSv6m6V38wJUceaE4A@mail.gmail.com>
	<SA1PR17MB53505317C9E02F989A9D455FBE3A2@SA1PR17MB5350.namprd17.prod.outlook.com>
	<CADK3HHKG-yvTBAYP30vfpzjrt66BtVpMx1UDHv4PpQ6DPY-5ng@mail.gmail.com>
	<CADF4wWoEwaOSRj5a1Dc=BR-fN6KkHuoFLSoCfsJ9HvwjSKTR6g@mail.gmail.com>
	<CADK3HHJENmFdMk9fLKYWi2PfHjR3cSwHkSPboVwRStK4tYms4A@mail.gmail.com>
	<CADF4wWr2sMJ+RYOwe5PDNHobVm6dDLtKQfXLv59UcGyqr5-YgQ@mail.gmail.com>
	<CADK3HHLy-h_dGx-DjmWkOaFL_ginc=38D1VgvYUkURJg4aFAqA@mail.gmail.com>
	<CADF4wWrUbUMqKVTQbEQ9eKftjB68igwUWG+nKj_LQs5-vkYZFQ@mail.gmail.com>

On Sat, 30 Mar 2024 at 07:45, Adrian Grucza <[email protected]> wrote:

> You might consider adding an optional "DsnProperties" string parameter to
> regress.ps1. When provided, the script could use that property string to
> create the DSN instead of calling input-dsninfo to prompt for the
> properties. In general I think it's preferable for CI to run tests using
> the same script that people use when developing psqlODBC locally. That way
> if the script ever breaks, then the break will be detected in CI. But I
> think it's also useful to test the MSI installer, which regress.ps1 doesn't
> do.
>
>
Did that, and it works, have one test failing because libxml2 isn't
installed.

create database and dsn · davecramer/psqlodbc@982bd55 (github.com)
<https://github.com/davecramer/psqlodbc/commit/982bd5525af1b0cc6b3c8c47000b6916a61ed388;

Anyone know how to install it on windows?

Dave

> On Sat, 30 Mar 2024 at 22:09, Dave Cramer <[email protected]> wrote:
>
>>
>>
>> *CAUTION: *This Email is from an EXTERNAL source. Ensure you trust this
>> sender before clicking on any links or attachments.
>>
>>
>>
>>
>>
>> On Sat, 30 Mar 2024 at 06:17, Adrian Grucza <[email protected]>
>> wrote:
>>
>>> If your aim is to run the regression tests then winbuild/regress.ps1
>>> does everything for you: installs a dev version of the driver, creates a
>>> DSN for it and runs the tests against a PostgreSQL server (which you could
>>> run in Docker).
>>>
>> Well the problem is that it waits for input which we can't do on github
>> actions
>>
>>>
>>> But if you want to use the MSI installer, running that will install the
>>> driver for you:
>>>
>>> Start-Process 'C:\\psqlodbc_x64.msi' '/quiet /passive' -PassThru |
>>> Wait-Process;
>>>
>>> You then just need to create the DSN:
>>>
>>> Add-OdbcDsn -Name "MyPostgresDsn" -DsnType 'User' -Platform '64-bit'
>>> -DriverName 'PostgreSQL Unicode(x64)'
>>>
>>> Set-OdbcDsn -Name "MyPostgresDsn" `
>>>  -DsnType "User" `
>>>  -SetPropertyValue @("Servername=${env:DB_HOST}" `
>>>  ,'Port=5432' `
>>>  ,"SSLMode=${env:SSL_MODE}" `
>>>  ,'BoolsAsChar=0' `
>>>  ,'FetchRefcursors=1' `
>>>  ,'MaxVarcharSize=4094' `
>>>  )
>>>
>>> Thanks,
>>
>> Will try this
>>
>> Dave
>>
>>>
>>> Adrian Grucza
>>> Technical Lead
>>> Office: +61390185800
>>> The contents of this email originated from Iress. For this purpose Iress
>>> includes Iress Limited and/or any of its subsidiaries, holding companies
>>> and trading entities.
>>> If you have received this email in error please notify the sender
>>> immediately and delete this email.
>>> On Sat, 30 Mar 2024 at 6:53 pm, Dave Cramer <[email protected]>
>>> wrote:
>>>
>>>>
>>>>
>>>> *CAUTION: *This Email is from an EXTERNAL source. Ensure you trust
>>>> this sender before clicking on any links or attachments.
>>>>
>>>>
>>>>
>>>>
>>>> On Fri, 29 Mar 2024 at 18:49, Adrian Grucza <[email protected]>
>>>> wrote:
>>>>
>>>>> winbuild/regress.ps1 uses RegisterRegdsn.exe (built from
>>>>> test/RegisterRegdsn.c) to install the driver and register a data source.
>>>>> You could use that, or you may find it easier to use the Wdac cmdlets
>>>>> <https://urldefense.com/v3/__https://learn.microsoft.com/en-us/powershell/module/wdac/?view=windowsse...; in
>>>>> PowerShell, specifically Add-OdbcDsn and Set-OdbcDsn.
>>>>>
>>>>>
>>>> Yes, I saw those, was going to try them. I think the challenge is
>>>> registering the driver first though.
>>>>
>>>> Dave
>>>>
>>>>>
>>>>> [image: iress.com] <https://www.iress.com/;
>>>>> Adrian Grucza
>>>>> Technical Lead
>>>>> Office: +61390185800
>>>>> [email protected]
>>>>> www.iress.com
>>>>> Level 16 385 Bourke St
>>>>> <https://urldefense.com/v3/__https://www.google.com/maps/search/385**ABourke**ASt**BMelbourne?entry=g...;
>>>>>  Melbourne
>>>>> <https://urldefense.com/v3/__https://www.google.com/maps/search/385**ABourke**ASt**BMelbourne?entry=g...;
>>>>> ,  Victoria,  3000
>>>>> The contents of this email originated from Iress. For this purpose
>>>>> Iress includes Iress Limited and/or any of its subsidiaries, holding
>>>>> companies and trading entities. If you have received this email in error
>>>>> please notify the sender immediately and delete this email.
>>>>> nosig
>>>>>
>>>> On Sat, 30 Mar 2024 at 2:12 am, Dave Cramer <[email protected]>
>>>>> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> *CAUTION: *This Email is from an EXTERNAL source. Ensure you trust
>>>>>> this sender before clicking on any links or attachments.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Fri, 29 Mar 2024 at 08:41, Jon Raiford <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> I’m not familiar with GitHub Actions, but I know you can create data
>>>>>>> sources from the command line. This is all stored in the registry, which
>>>>>>> you can update using the reg command.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/reg
>>>>>>> <https://urldefense.com/v3/__https://learn.microsoft.com/en-us/windows-server/administration/windows-...;
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> The easiest thing to do may be to create a data source manually and
>>>>>>> export it into a .reg file. You can then either import the data source
>>>>>>> using the reg file or just use it as a template to add the entries as you
>>>>>>> like.
>>>>>>>
>>>>>>>
>>>>>>> Just run Regedit and locate the data source you would like to export.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 64-bit System Data Sources: \\HKLM\SOFTWARE\ODBC\
>>>>>>> <https://urldefense.com/v3/__http://HKLM/SOFTWARE/ODBC/__;!!OSkwEA!kxnwxUJLKxa3Oc4LrkTTgAXa9D0wwxO8NO...;
>>>>>>>
>>>>>>> 32-bit System Data Sources: \\HKLM\SOFTWARE\WOW6432Node\ODBC\
>>>>>>> <https://urldefense.com/v3/__http://HKLM/SOFTWARE/WOW6432Node/ODBC/__;!!OSkwEA!kxnwxUJLKxa3Oc4LrkTTgA...;
>>>>>>>
>>>>>>> 64-bit User Data Sources: \\HKCU\SOFTWARE\ODBC\
>>>>>>>
>>>>>>> 32-bit User Data Sources: \\HKCU\SOFTWARE\ODBC\
>>>>>>> <https://urldefense.com/v3/__http://HKCU/SOFTWARE/ODBC/__;!!OSkwEA!kxnwxUJLKxa3Oc4LrkTTgAXa9D0wwxO8NO...;
>>>>>>> <- This is mixed in with the 64-bit entries and the driver referenced
>>>>>>> determines if 32/64
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Drivers are defined under the system keys under the section
>>>>>>> ODBCINST.INI. Data sources are defined under the section ODBC.INI, both as
>>>>>>> a folder containing the details of the data source as well as an entry
>>>>>>> under “ODBC.INI\ODBC Data Sources”, which associates the data source with
>>>>>>> the driver to use with it.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> I think if you view these entries in Regedit you will see the
>>>>>>> relationships between everything. It may help to create a data source for
>>>>>>> each type.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> The above describes how to create a static ODBC data source.
>>>>>>> Alternatively you can use a file DSN or simply make a connection string
>>>>>>> from your test case and avoid the data source completely. Although I
>>>>>>> suppose you may want to do each in order to test each possibility.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Let me know if you have any questions or need assistance.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Jon
>>>>>>>
>>>>>>
>>>>>> Hey Jon,
>>>>>>
>>>>>> Thanks, that will help immensely.
>>>>>>
>>>>>> It's been a while since I've done anything with Windows.
>>>>>>
>>>>>> Dave
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> *From: *Dave Cramer <[email protected]>
>>>>>>> *Date: *Friday, March 29, 2024 at 7:25 AM
>>>>>>> *To: *PostgreSQL mailing lists <[email protected]>
>>>>>>> *Subject: *How to create an ODBC datasource in CI
>>>>>>>
>>>>>>> Greetings,
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> In order to test the driver using github actions we need to be able
>>>>>>> to create a windows datasource. Usually this requires some kind of user
>>>>>>> interaction.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Has anyone done this on GH actions ?
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Dave Cramer
>>>>>>>
>>>>>>


view thread (10+ messages)

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected]
  Subject: Re: How to create an ODBC datasource in CI
  In-Reply-To: <CADK3HHKv1t-qGWct3FQvU3STPoMG0dEbAFDMtTtL1Qxp0ZOyWw@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox