Monday, February 21. 2011SQL Server 64-bit Linked Server woesPrinter FriendlyRecommended Books: Inside SQL Server 2008 T-SQL PostGIS in Action
Comments
Display comments as
(Linear | Threaded)
OLEDB might be a better option on the SQL Server end. Have you tried http://www.pgoledb.com/ ?
#1
on
2011-02-21 20:03
Matt,
I really like the pgoledb product. I'm sorry we haven't had a chance to describe it though we were meaning to way back. We'll try to detail it in our next product showcase and what features you get that you don't get with the ODBC drivers. For this particular project I think it might be overkill (in sense of pricing not ease of use etc.), because it is something that will be used for one query and one query alone and may need to be deployed in many places. Although this may change as the project progresses.
#1.1
on
2011-02-22 09:04
You might want to try MSDASQL.1 instead of just MSDASQL. I think it's what helped me when I had this error:
'Cannot get the column information from OLE DB provider "MSDASQL"'. Now we have a different problem, although that's probably due to the way SQL Server works with ODBC and OLE DB drivers - if a query that uses a linked server fails, all queries in SSIS jobs that use that or another linked server also fail and only a restart of the server instance helps. This happens on SQL Server 2005 Standard SP4. Have you encountered this issue?
Slapo,
Were you using the ODBC driver on the Postgres website. I didn't see MSDASQL.1 listed under my Linked Servers/Providers tab. Is that something you have to install separately. Nope haven't encountered that issue but don't use SSIS anymore mostly because we found it was easier to do our data transfers with a webscript since we didn't have to contend with pushing the SSIS package back into SQL Server and it was a bit more portable too and we could then just use .NET drivers and manage everything with our own custom table of jobs and even tie directly into our applications for users to manage.
#2.1
on
2011-02-26 10:46
Yes, the one from PostgreSQL website should be the one. You won't see MSDASQL.1 among the Providers, you just use @provider=N'MSDASQL.1' in your query. It's why it took me more than a day to notice it in one query I got to when searching. I suspect it's just alternative access method to the same API, but I could be wrong.
We use SSIS mostly because of the Job agent (I think, but I wasn't the one who made the decision to use SSIS). I'd prefer to have our own fairly simple system, but that's unlikely to happen unless I'd create it (which I hope to do later this year, along with plenty of other things).
Slapo,
Thanks that seemed to do the trick. I'll update the blog entry to reflect that. Thanks a lot.
#2.1.1.1
on
2011-02-27 00:08
You're welcome :)
It's odd that "MSDASQL" often works but sometimes "MSDASQL.1" is necessary. I haven't found out yet what could be the reason for this, but as long as it works, it doesn't matter too much.
Slapo,
As far as Job agent goes, we've been pretty happy with PgAgent and migrating jobs as we upgrade servers is pretty simple since all the jobs are nicely segmented in the pgAgent schema (usually installed in the postgres database). http://www.postgresonline.com/journal/archives/19-Setting-up-PgAgent-and-Doing-Scheduled-Backups.html Then we use that to kick off our own .net or batch scripts. We also use it for backup (including backing up the SQL Server and MySQL databases we have). I was going to amend that script because our new approach rather than hard-coding the databases is to create a folder structure on the network to house each database and then the script will create a backup of the database if the folder exists. Much easier for management since our developers no longer need to change the script to have their database backed up.
#2.1.1.2
on
2011-03-03 07:41
Thanks Regina,
it looks pretty handy and the arguments in the article are quite reasonable, so we'll consider it and evaluate it when the time comes. Thanks again. :)
Hi,
I came across a very similar sounding problem and I think I may have found a solution. Essentially you have to un-check the "Allow inprocess" option in the MSDASQL provider. The details can be found here: http://www.bisql.net/2011/02/sql_pg_linked/ Regards, Ash.
Good work around. In our case, we had similar problem as you mentioned. Running the Instcat.sql worked just fine. All our 2000 servers are 32-bit and 2005/2008 servers are 64-bit.
The author does not allow comments to this entry
|
Entry's LinksQuicksearchCalendar
Categories
Blog Administration |
Tracked: Apr 18, 23:00