Re: pgodbc + Excel + msquery + background refresh

Поиск
Список
Период
Сортировка
От Ow Mun Heng
Тема Re: pgodbc + Excel + msquery + background refresh
Дата
Msg-id 1192004270.442.19.camel@neuromancer.home.net
обсуждение исходный текст
Ответ на pgodbc + Excel + msquery + background refresh  (Ow Mun Heng <Ow.Mun.Heng@wdc.com>)
Список pgsql-odbc
On Wed, 2007-10-10 at 16:07 +0800, Ow Mun Heng wrote:
> Just wonder if anyone here uses Excel to connect to PG via ODBC.
>
> I'm using it extensively as my platform to get data from PG/MSSQL
> directly into excel. (Excel uses the msqry32.exe file which is like a
> stripped down sql query tool and returns data directly into excel)
>
> When using mssql, connecting from excel to mssql, I can get the query to
> run in the background. Hence, a long running query will not interfere
> with normal running of other excel works. Eg: Create new sheets,
> graphing etc.
>
> However, when trying to achieve the same thing using PG, somehow it
> either :
>
> 1. PG/PG_ODBC doesn't parse/handle the request to do the query in the
> background
> 2. I'm doing something wrong.
>
> I'm partial to #1 as it works find on mssql.
>
> Here's a sample query macro which you can stick into Excel. (alt-F11,
> Module, Insert-New-Modules)
>
>
> The Keyword here is "Refresh BackgroundQuery = True"
>
> Sub macro1()
>
> SQL = "Select * from public.tablename limit 5000"
> With
> ActiveSheet.QueryTables.Add(Connection:=Array(Array("ODBC;DRIVER={PostgreSQL
Unicode};DATABASE=public;SERVER=127.0.0.1;PORT=5432;UID=pguser;PWD=pguser")),Destination:=Range("A1")) 
>                 .CommandText = SQL
>                 .Name = ""
>                 .FieldNames = True
>                 .RowNumbers = False
>                 .FillAdjacentFormulas = False
>                 .PreserveFormatting = True
>                 .RefreshOnFileOpen = False
>                 .BackgroundQuery = True
>                 .RefreshStyle = xlInsertDeleteCells
>                 .SavePassword = False
>                 .SaveData = True
>                 .AdjustColumnWidth = True
>                 .RefreshPeriod = 0
>                 .PreserveColumnInfo = True
>                 .Refresh BackgroundQuery:=True
>                 End If
>             End With
> End Sub
>
> I think this is like the last hurdle for me from moving from mssql to
> PG.
>
> Thanks and hopefully, there will be someone who uses it this way.


Digging a bit... Found this in MS Knowledge base.

http://support.microsoft.com/kb/211931/en-us

...
This behavior occurs when one of the following conditions is true:

    The Open Database Connectivity (ODBC) driver you use to create
    the query does not support asynchronous queries.

-or-
    You record or run a macro while the query is executing.

.....

So.. does Pqsqlodbc supports async queries?

В списке pgsql-odbc по дате отправления:

Предыдущее
От: Ow Mun Heng
Дата:
Сообщение: pgodbc + Excel + msquery + background refresh
Следующее
От:
Дата:
Сообщение: [ psqlodbc-Bugs-1009413 ] 08.02.0500 SELECT * returns double with for CHAR columns