Monday, March 19, 2012
servers
Anyone have any ideas wht's up?Describe "won't show up" in a bit more detail. What exactly happens when you try to issue a SELECT statement against a new table?
-PatP|||When I say "won't show up" I mean you can't see the table in the table list in enterprise manager when I open the linked server. Here's the SQL and error message:
select i_con_contract from openquery([32tlsql2-dreamdb],
'Select i_con_contract From dbo.temp_client_3' )
Server: Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'Sybase.ASEOLEDBProvider' reported an error.
[OLE/DB provider returned message: [Native Error code: 208]
[DataDirect ADO Sybase Provider] dbo.temp_client_3 not found. Specify owner.objectname or use sp_help to check whether the object exists (sp_help may produce lots of output).
]
OLE DB error trace [OLE/DB Provider 'Sybase.ASEOLEDBProvider' IColumnsInfo::GetColumnsInfo returned 0x80004005: ].|||What happens in Query Analyzer?
I suspect that this is another example of EM (SQL Enterprise Mangler) caching information, but never refreshing the cache.
-PatP|||The SQL and error message posted are from Query Analyzer.
I've even created a new linked server connection and the tables still won't show up. So I don't think it's a caching issue in EM.
Any other ideas? I appreciate the help.|||I was a bit corn-fused when you were talking about EM and posting SQL in the same message. I figured that somehow I must have "missed a meeting" in there somewhere.
Is there any chance that the Sybase objects are owned by a non-dbo user? Does the user being used by OPENQUERY have access to those objects when you use Sybase tools (like ISQL) to try to access them?
-PatP|||Nope, they're owned by dbo and every user and group in the Sybase db have select, insert, update, and delete permissions on the tables.|||Well, at least for now I'm stumped. I'm sure that come 03:30 I'll have a bright idea, but right now I'm fresh out. Sorry.
-PatP|||Originally posted by peterlemonjello
Nope, they're owned by dbo and every user and group in the Sybase db have select, insert, update, and delete permissions on the tables.
What's the linked server login?
Did you grant right to it on the new tables?|||Yep, the login the linked server is using has explicit permissions set on every table in the db. I've even changed to login to sa and still can't see the tables.|||I'm stuck...did you stop and restart EM?
Can you query them in QA?
Hey Pat, it's past 3:30...EST
Is there a way to see the linked server catalogs?|||Yep, I've rebooted the SQL Server. I can see the catalog using the sp_tables_ex proc and by looking in the sysremote_tables table in the master db. They're missing the new tables too. I have no freakin idea what's going on. I've turned the trace on in the OLEDB properties to try and isolate how SQL Server gets the table list from Sybase. Unfortuantely, when I refresh the tables in EM nothing appears in the OLEDB trace output.|||OK, let's get stupid (since I'm already there)
Can you create a new linked server with the same code?
Did you do it with code or through EM?|||I did it through EM. I have two SQL Server instances on seperate servers that are having the same problem. The only common denominator is the target Sybase server. I can't duplicate the problem against any other Sybase servers. I'm going to reboot the Sybase server tonight to see if that clears anything up. I'll let you know how it goes.|||Good Luck...
Time for a 'rita...
Later...|||Originally posted by Brett Kaiser
Hey Pat, it's past 3:30...EST
Is there a way to see the linked server catalogs? Not hardly, it was just past 15:30 EST when you posted! I really meant 03:30!
-PatP|||all righty then...
Hey Peter, did bouncing the box help?|||OK, I found the problem. There's a bug in Sybase's OLEDB provider. Luckily there's a patch out for the bug.
If you've setup more than one OLEDB profile in the Configuration Manager the first profile that's setup will apply to all additional profiles. No matter what properties are specified in the additional profiles settings.
For example create Profile1 that connects to 10.5.1.4 port 7682.
Cretae Profile2 and specify server 10.5.1.5 port 7680. Eventhough the properties are set correctly on Profile2 it will always connect to 10.5.1.4 port 7682. Also, any addiotional profiles will connect the profile that was created first in the Configuration Manager.
I couldn't see the new tables (in my test db) because my OLEDB connection was logging into a different server (production). Which happen to have the same schema except for the new tables.|||Wow! That's a pretty good one.
-PatP
Monday, March 12, 2012
server-New tables missing
the server.
hth
>--Original Message--
>I have a linked server to Sybase ASE 12.5 that has been
working great. However, now when new tables are created
in the Sybase db they can't be found using the linked
server connection. The login the linked server is using
has all permissions granted on the new tables too. Any
ideas?
>.
>|||I've tried that and I've even created a new linked server. They still don't show up. I tried executing a query using Query analyzer and here's the SQL and error message I get
select i_con_contract from openquery([32tlsql2-dreamdb],
'Select i_con_contract From dbo.temp_client_3' )
Server: Msg 7399, Level 16, State 1, Line
OLE DB provider 'Sybase.ASEOLEDBProvider' reported an error.
[OLE/DB provider returned message: [Native Error code: 208
[DataDirect ADO Sybase Provider] dbo.temp_client_3 not found. Specify owner.objectname or use sp_help to check whether the object exists (sp_help may produce lots of output)
OLE DB error trace [OLE/DB Provider 'Sybase.ASEOLEDBProvider' IColumnsInfo::GetColumnsInfo returned 0x80004005: ].
server-New tables missing
the server.
hth
>--Original Message--
>I have a linked server to Sybase ASE 12.5 that has been
working great. However, now when new tables are created
in the Sybase db they can't be found using the linked
server connection. The login the linked server is using
has all permissions granted on the new tables too. Any
ideas?
>.
>
I've tried that and I've even created a new linked server. They still don't show up. I tried executing a query using Query analyzer and here's the SQL and error message I get.
select i_con_contract from openquery([32tlsql2-dreamdb],
'Select i_con_contract From dbo.temp_client_3' )
Server: Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'Sybase.ASEOLEDBProvider' reported an error.
[OLE/DB provider returned message: [Native Error code: 208]
[DataDirect ADO Sybase Provider] dbo.temp_client_3 not found. Specify owner.objectname or use sp_help to check whether the object exists (sp_help may produce lots of output).
]
OLE DB error trace [OLE/DB Provider 'Sybase.ASEOLEDBProvider' IColumnsInfo::GetColumnsInfo returned 0x80004005: ].
server-New tables missing
the server.
hth
>--Original Message--
>I have a linked server to Sybase ASE 12.5 that has been
working great. However, now when new tables are created
in the Sybase db they can't be found using the linked
server connection. The login the linked server is using
has all permissions granted on the new tables too. Any
ideas?
>.
>I've tried that and I've even created a new linked server. They still don't
show up. I tried executing a query using Query analyzer and here's the SQL
and error message I get.
select i_con_contract from openquery([32tlsql2-dreamdb],
'Select i_con_contract From dbo.temp_client_3' )
Server: Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'Sybase.ASEOLEDBProvider' reported an error.
[OLE/DB provider returned message: [Native Error code: 208]
[DataDirect ADO Sybase Provider] dbo.temp_client_3 not found. Specify ow
ner.objectname or use sp_help to check whether the object exists (sp_help ma
y produce lots of output).
]
OLE DB error trace [OLE/DB Provider 'Sybase.ASEOLEDBProvider' IColumnsIn
fo::GetColumnsInfo returned 0x80004005: ].
Wednesday, March 7, 2012
server to Sybase ASE 12.5.3 via Sybase OLE DB provider 2.70.00.74 doesn' work.
I tried to define a linked server from SQL Server 2005 SP 1 to ASE 12.5.3 via Sybase OLE DB provider 2.70.00.74 (written by DataDirect) as well as Sybase OLE DB provider 12.5.1.510 (written by Sybase). Both linked server doesn't work.
But I am able to define linked server if I use an old version of Sybase OLE DB provider 2.70.00.24.
Here are the error messages I get:
1. ASEOLEDBProvider, first try:
Msg 7399, Level 16, State 1, Line 1
The OLE DB provider "Sybase.ASEOLEDBProvider" for linked server "BUGATTI" reported an error. The provider reported an unexpected catastrophic failure.
Msg 7306, Level 16, State 2, Line 1
Cannot open the table "kunktest1.dbo.kunktable" from OLE DB provider "Sybase.ASEOLEDBProvider" for linked server "BUGATTI". Unknown provider error.
2. ASEOLEDBProvider, second try:
Msg 7301, Level 16, State 2, Line 1
Cannot obtain the required interface ("IID_IGetDataSource") from OLE DB provider "Sybase.ASEOLEDBProvider" for linked server "BUGATTI".
3. ASEOLEDB
Msg 7399, Level 16, State 1, Line 1
The OLE DB provider "ASEOLEDB" for linked server "BUGATTI2" reported an error. The provider did not give any information about the error.
Msg 7304, Level 16, State 2, Line 1
Cannot connect using OLE DB provider "ASEOLEDB" to linked server "BUGATTI2". Verify the connection parameters or login credentials associated with this linked server.
Has anybody else the same problems ? Is there a solution ?
Could you check if this is a permission problem. Please try to
create a linked server with sa login and check to see if the same error
persists.
Thanks
|||I don't think that it is a permission problem, because I created the 'linked server' with the sa login.And as I said before I was able to connect to a linked server with an older version (OLE DB provider 2.70.00.24) of the same OLEDB provider and the same properties!
But there we have problems with updates on tables with datetime columns which contains millisecond fractions.
By the way, in the meantime I was able to define a linked server over Sybase OLEDB provider 'Sybase OLEDB Provider for ASE 12.5.1.510'. Instead of using a udl-file (don't know how they should be used, found no docu) I wrote <host>, <port> directly to the datasource field in the 'create linked server' dialog of management studio.
But when I execute
select * from BUGATTI4.kunktest1.dbo.kunktable
(BUGATTI4 is the linked server)
I got following error:
Msg 7399, Level 16, State 1, Line 1
The OLE DB provider "ASEOLEDB" for linked server "BUGATTI4" reported an error. The provider did not give any information about the error.
Msg 7311, Level 16, State 2, Line 1
Cannot obtain the schema rowset "DBSCHEMA_TABLES" for OLE DB provider "ASEOLEDB" for linked server "BUGATTI4". The provider supports the interface, but returns a failure code when it is used.
Auditing on Sybase site shows the following statements:
extrainfo
Login ....
Command Text exec sp_oledb_tables @.table_catalog = "kunktest1", @.table_schema = "dbo", @.table_name = "kunktable"
Logout ....