Friday, March 30, 2012
Linked Server Problems from SQL2005
Query Example :
SELECT * FROM [servername].master.dbo.sysobjects
Error:
OLE DB provider "SQLNCLI" for linked server " servername" returned
message "Communication link failure".
Msg 10054, Level 16, State 1, Line 0
TCP Provider: An existing connection was forcibly closed by the remote
host.
Msg 18452, Level 14, State 1, Line 0
Login failed for user '(null)'. Reason: Not associated with a trusted
SQL Server connection.
Notes:
The linked server is configured to use the current logins security
context. It does not matter whether I connect to SQL2000 or SQL2005.
I have a case with MS (6 hours on the phone yesterday), but no help
yet. All spn settings are as recommended by Microsoft. The MS engineer
states that SQL is not passing the login as indicated in a capture file
from netcap.
Any help is appreciated.
TerryHi
Is the remote server SQL2005? Have you tried using a SQL Server login? Can
you use openquery to return the result?
John
"Terry" wrote:
> When I run linked server queries from SQL2005 it fails.
> Query Example :
> SELECT * FROM [servername].master.dbo.sysobjects
> Error:
> OLE DB provider "SQLNCLI" for linked server " servername" returned
> message "Communication link failure".
> Msg 10054, Level 16, State 1, Line 0
> TCP Provider: An existing connection was forcibly closed by the remote
> host.
> Msg 18452, Level 14, State 1, Line 0
> Login failed for user '(null)'. Reason: Not associated with a trusted
> SQL Server connection.
> Notes:
> The linked server is configured to use the current logins security
> context. It does not matter whether I connect to SQL2000 or SQL2005.
> I have a case with MS (6 hours on the phone yesterday), but no help
> yet. All spn settings are as recommended by Microsoft. The MS engineer
> states that SQL is not passing the login as indicated in a capture file
> from netcap.
> Any help is appreciated.
> Terry
>|||Terry wrote:
> When I run linked server queries from SQL2005 it fails.
> Query Example :
> SELECT * FROM [servername].master.dbo.sysobjects
> Error:
> OLE DB provider "SQLNCLI" for linked server " servername" returned
> message "Communication link failure".
> Msg 10054, Level 16, State 1, Line 0
> TCP Provider: An existing connection was forcibly closed by the remote
> host.
> Msg 18452, Level 14, State 1, Line 0
> Login failed for user '(null)'. Reason: Not associated with a trusted
> SQL Server connection.
> Notes:
> The linked server is configured to use the current logins security
> context. It does not matter whether I connect to SQL2000 or SQL2005.
> I have a case with MS (6 hours on the phone yesterday), but no help
> yet. All spn settings are as recommended by Microsoft. The MS engineer
> states that SQL is not passing the login as indicated in a capture file
> from netcap.
> Any help is appreciated.
> Terry
>
You are connecting to ServerA using Windows Authentication, not a SQL
login. The linked server connection is attempting to pass your SQL
login over to ServerB. You'll have to login to ServerA using a true SQL
login, or setup an explicit user mapping in the linked server definition.
Tracy McKibben
MCDBA
http://www.realsqlguy.com|||I should be able to use Windows Authenitication, and have always in the
past with SQL2000. Auditing concerns require I know who is connecting.
Mapped logins do work but this is not a solution.
The problem occurs when I connect to SQL2000 or SQL2005 from SQL2005.
Terry
Tracy McKibben wrote:
> Terry wrote:
> You are connecting to ServerA using Windows Authentication, not a SQL
> login. The linked server connection is attempting to pass your SQL
> login over to ServerB. You'll have to login to ServerA using a true SQL
> login, or setup an explicit user mapping in the linked server definition.
>
> --
> Tracy McKibben
> MCDBA
> http://www.realsqlguy.com|||On the 2000 server, run the instcat.sql from the latest service pack you
have installed. This fixes the connect strings. You have to edit the
instcat.sql to put in the correct SQL version. This is documented in the
instcat.sql file. This fixed my 2005->2000 linked server problems. Same as
your problem.
Jackie
"Terry" <tduffy@.calamos.com> wrote in message
news:1152881495.272827.29100@.h48g2000cwc.googlegroups.com...
>I should be able to use Windows Authenitication, and have always in the
> past with SQL2000. Auditing concerns require I know who is connecting.
> Mapped logins do work but this is not a solution.
> The problem occurs when I connect to SQL2000 or SQL2005 from SQL2005.
> Terry
> Tracy McKibben wrote:
>|||Thank you for the responses...
instcat.sql fixes the schema binding errors on 2005->2000 servers. It
does not resolve my issues. instcat has already been run on my 2000
boxes.
Terry
Jackie Brophy wrote:[vbcol=seagreen]
> On the 2000 server, run the instcat.sql from the latest service pack you
> have installed. This fixes the connect strings. You have to edit the
> instcat.sql to put in the correct SQL version. This is documented in the
> instcat.sql file. This fixed my 2005->2000 linked server problems. Same as
> your problem.
> Jackie
> "Terry" <tduffy@.calamos.com> wrote in message
> news:1152881495.272827.29100@.h48g2000cwc.googlegroups.com...|||Hi Terry
I assume that you are using the latest service packs on both instances?
Previously this error has been the result of a virus checker or firewall
blocking communications or possibly a faulty network. Do you get any command
s
running on the remote system?
Windows authentication should not require the user to map a linked server
login, but you can run it with the remote server name parameter only to make
sure these are mapped.
You may want to try and check what protocols you are using and try a
different one!
John
"Terry" wrote:
> Thank you for the responses...
> instcat.sql fixes the schema binding errors on 2005->2000 servers. It
> does not resolve my issues. instcat has already been run on my 2000
> boxes.
> Terry
> Jackie Brophy wrote:
>|||We are still on RTM SQL05, but similar issues (double hops only) exist
on a dev box with sp1. SQL 2000 is a mix of SP3 and SP4.
Firewall and anti-virus are not any issue. I am not sure what you mean
by "commands
running on the remote system." Also, any ideas what might be "faulty"
in the network.
Linked servers with mapped logins works.
Thanks
John Bell wrote:[vbcol=seagreen]
> Hi Terry
> I assume that you are using the latest service packs on both instances?
> Previously this error has been the result of a virus checker or firewall
> blocking communications or possibly a faulty network. Do you get any comma
nds
> running on the remote system?
> Windows authentication should not require the user to map a linked server
> login, but you can run it with the remote server name parameter only to ma
ke
> sure these are mapped.
> You may want to try and check what protocols you are using and try a
> different one!
> John
> "Terry" wrote:
>|||Hi Terry
Use SQL profiler on both machines to try and see what is happening. Did you
check the protocols being used?
http://msdn2.microsoft.com/en-us/library/ms175496.aspx
You may want to make sure that this still occurs on the latest hotfixes for
each version. If that fails you may want to raise an incident with PSS for
this.
John
"Terry" wrote:
> We are still on RTM SQL05, but similar issues (double hops only) exist
> on a dev box with sp1. SQL 2000 is a mix of SP3 and SP4.
> Firewall and anti-virus are not any issue. I am not sure what you mean
> by "commands
> running on the remote system." Also, any ideas what might be "faulty"
> in the network.
> Linked servers with mapped logins works.
> Thanks
>
> John Bell wrote:
>
Wednesday, March 28, 2012
Linked server problem
A.PATIENTID
FROM
xxxx.yyyyy.dbo.Patient A
SELECT
*
FROM
xxxx.yyyyy.dbo.Patient A
The first sql does not work and the second one works over linked server.
Does anybody know??Do you get an error? What is it?|||Server: Msg 207, Level 16, State 3, Line 1
Invalid column name 'patientid'.|||Check the spelling of the column name when selecting all columns.|||works fine for me....
select * from server.database.owner.table A
will work OK
select A.column_name from server.database.owner.table A
wiill work OK too....
Spelling most likely problem...
Linked server problem
code:
set nocount on
-- if exists must drop
IF EXISTS (select * from master.dbo.sysservers WHERE srvname = 'sena')
BEGIN
EXEC sp_droplinkedsrvlogin 'sena', NULL
EXEC sp_dropserver 'sena'
END
-- Create linked server
use master
go
EXEC sp_addlinkedserver @.server = 'sena', @.srvproduct = 'Oracle',
@.provider = 'MSDAORA', @.datasrc = 'bdsena'
go
EXEC sp_addlinkedsrvlogin 'sena', 'false', NULL, 'general', 'general'
go
SELECT * FROM OPENQUERY(sena, 'Select * From oferente')
set nocount off
When the analizer try to make the openquery i get the following error:
Server: Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'MSDAORA' reported an error.
[OLE/DB provider returned message: Oracle client and networking components
were not found. These components are supplied by Oracle Corporation and are
part of the Oracle Version 7.3.3 or later client software installation.
Provider is unable to function until these components are installed.]
OLE DB error trace [OLE/DB Provider 'MSDAORA' IDBInitialize::Initialize
returned 0x80004005: ].
The problem is that i have in the server the oracle client and i can connect
to the oracle database from sqlplus or activex (using msdaora)
Any idea?
Thanks,
Andres Chaves"Andres Chaves" <guest@.guest.com> wrote in message
news:#7OPittrDHA.2432@.TK2MSFTNGP10.phx.gbl...
> Hi, im trying to make a linked server with an oracle db. Here is the Tsql
> code:
> set nocount on
> -- if exists must drop
> IF EXISTS (select * from master.dbo.sysservers WHERE srvname = 'sena')
> BEGIN
> EXEC sp_droplinkedsrvlogin 'sena', NULL
> EXEC sp_dropserver 'sena'
> END
> -- Create linked server
> use master
> go
> EXEC sp_addlinkedserver @.server = 'sena', @.srvproduct = 'Oracle',
> @.provider = 'MSDAORA', @.datasrc = 'bdsena'
> go
> EXEC sp_addlinkedsrvlogin 'sena', 'false', NULL, 'general', 'general'
> go
> SELECT * FROM OPENQUERY(sena, 'Select * From oferente')
> set nocount off
> When the analizer try to make the openquery i get the following error:
> Server: Msg 7399, Level 16, State 1, Line 1
> OLE DB provider 'MSDAORA' reported an error.
> [OLE/DB provider returned message: Oracle client and networking components
> were not found. These components are supplied by Oracle Corporation and
are
> part of the Oracle Version 7.3.3 or later client software installation.
> Provider is unable to function until these components are installed.]
> OLE DB error trace [OLE/DB Provider 'MSDAORA' IDBInitialize::Initialize
> returned 0x80004005: ].
>
> The problem is that i have in the server the oracle client and i can
connect
> to the oracle database from sqlplus or activex (using msdaora)
> Any idea?
> Thanks,
> Andres Chaves
>
Did you try to connect to the Oracle from sqlplus using SQL Server's Windows
NT account?
You might need to install Oracle client one more time.
Regards,
Igor Raytsin
Linked server problem
I have set up linked server and ..Server A & Server B
from Server B..I select from SERVER A and Update on SERVER B. It workd great
but when i put trigger on SERVER B on the same table I'm updating it gives
me below error...I have checked all basic setting like DTC & logins and ever
ything looks fine
This is not even distributed tran as I'm not updating two DB as same time ju
st selectting from one and updating other
ERROR
The operation could not be performed because the OLE DB provider 'SQLOLEDB'
was unable to begin a distributed transaction.
[OLE/DB provider returned message: New transaction cannot enlist in the
specified transaction coordinator. ]
OLE DB error trace [OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTra
nsaction returned 0x8004d00a].
Any help AppreciatedDo you have Distrubuted transaction coordinator running?|||Yes, DTS is running..I have checked all basic stuff
Monday, March 26, 2012
Linked Server pointing to Access DB
when I fire a select statement :
SELECT * FROM OPENQUERY(NewVerification, 'SELECT id,verifier FROM newverification...accounts')
I get the following error :
Server: Msg 7357, Level 16, State 2, Line 1
Could not process object 'SELECT id,verifier FROM newverification...accounts'. The OLE DB provider 'Microsoft.Jet.OLEDB.4.0' indicates that the object has no columns.
OLE DB error trace [Non-interface error: OLE DB provider unable to process object, since the object has no columnsProviderName='Microsoft.Jet.OLEDB.4.0', Query=SELECT id,verifier FROM newverification...accounts'].
I am able to see all the tables thru EM which to means I am successfully able to connect to that DB. But then why is not letting me query that linked server ?
Any help is appreciated.
ThanksHave you tried the query without OPENQUERY? OPENQUERY passes the query to the remote server for processing, which, I believe with Access will not work, as it is not actually a server.
Try:
SELECT id, verifier FROM [newverification]...[accounts]|||I get the following thing :
Server: Msg 7313, Level 16, State 1, Line 1
Invalid schema or catalog specified for provider 'MSDASQL'.
OLE DB error trace [Non-interface error: Invalid schema or catalog specified for the provider.].|||Couple of questions...
Is the Access DB local to your SQL server, or on a remote system? I have sometimes had problems accessing remote Access databases, though those were usually on a different subnet, and it was Access preventing the connection because of it's "security" settings.
Is the database password protected?
Have you set up the proper security context?
If it is not protected, right-click on your Linked Server, and select Properties.
On the Security tab, select the last radio button "Be made with the security context:", and enter Admin as the remote login with no password.
Retry the query.
Here's a link for more info:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/acdata/ac_8_qd_12_6a44.aspsql
linked server performance
thru an ODBC(Progress driver) connection. Then I do a
Select * from OpenQuery(LinkedServerName,'Select * from pub.tablename').
The table I'm reading from has around 2.5 million records.
I then created a VIEW from the above select statement. Now If I try to use
that view with any criteria "where" date_shipped = 02/06/07.
The query times-out.Is there anything I can do to improve performance?
Thanks.It sounds like the WHERE condition is not being passed through
to the Progress DB server. There could be various reasons for
this, and two things you might try are
1) Try setting this up so you can use a 4-part name for the table:
SELECT * FROM LinkedServerName.<the database>.pub.tablename
and either add the WHERE clause to that or use that for the view
definition.
2) Try using WHERE date_shipped = cast('070206' as smalldatetime).
Perhaps when you pass a string (or the number 0, which is what you
are passing if you have no quotes around the 02/06/07), the comparison
can't be done on the server site.
SQL Server 2005 allows you to write
EXECUTE (@.querystring) AT LinkedServerName. Whether this is
likely to be faster, I don't know.
You could look at the query plan for your slow SELECT query and
see if all the rows of the table are being passed to the client to
accomplish the WHERE clause filtering. (not that would alone give
you an alternative).
-- Steve Kass
-- Drew University
-- http://www.stevekass.com
Andy wrote:
>I have created a Linked Server(UnixServer - Progress DB) and that access is
>thru an ODBC(Progress driver) connection. Then I do a
> Select * from OpenQuery(LinkedServerName,'Select * from pub.tablename').
>The table I'm reading from has around 2.5 million records.
>I then created a VIEW from the above select statement. Now If I try to use
>that view with any criteria "where" date_shipped = 02/06/07.
>The query times-out.Is there anything I can do to improve performance?
>
> Thanks.
>
>sql
Linked server OPENQUERY, error 'The name <> is not a valid identif
I am working on exporting data from a remote MSSQL db using la inked server.
Both SQL server 2000.
So far I have a SELECT against a linked server with a hard coded value in
the WHERE clause and it works fine:
SELECT * FROM OPENQUERY(SERVER_NAME,'SELECT id,[date] FROM
DB_NAME.dbo.TABLE_NAME WHERE id= 111204892204688')
I try to put this exact query into a variable and run it:
declare @.tsql varchar(8000)
SELECT @.tsql='SELECT * FROM OPENQUERY(SERVER_NAME,''SELECT id,[date]FROM
DB_NAME.dbo.TABLE_NAME WHERE id= 111204892204688'')'
EXEC @.tsql
I get an error:
The name 'SELECT * FROM OPENQUERY(SERVER_NAME,'SELECT id,[date]FROM
DB_NAME.dbo.TABLE_NAME WHERE id= 111204892204688')' is not a valid identifie
r.
The query specified in the error runs just fine on its own (see my first
step).
I searched the web and tech groups for answers but can't find any
information on this error. Please help.
Thank you, A"Alexis" <Alexis@.discussions.microsoft.com> wrote in message
news:539D21E3-6961-49BD-9892-279744A3A5C9@.microsoft.com...
> EXEC @.tsql
Add some parens:
EXEC (@.tsql)
Adam Machanic
SQL Server MVP
http://www.datamanipulation.net
--|||Can you try using:
...
exec (@.tsql)
AMB
"Alexis" wrote:
> Hi,
> I am working on exporting data from a remote MSSQL db using la inked serve
r.
> Both SQL server 2000.
> So far I have a SELECT against a linked server with a hard coded value in
> the WHERE clause and it works fine:
> SELECT * FROM OPENQUERY(SERVER_NAME,'SELECT id,[date] FROM
> DB_NAME.dbo.TABLE_NAME WHERE id= 111204892204688')
> I try to put this exact query into a variable and run it:
> declare @.tsql varchar(8000)
> SELECT @.tsql='SELECT * FROM OPENQUERY(SERVER_NAME,''SELECT id,[date]FROM
> DB_NAME.dbo.TABLE_NAME WHERE id= 111204892204688'')'
> EXEC @.tsql
> I get an error:
> The name 'SELECT * FROM OPENQUERY(SERVER_NAME,'SELECT id,[date]FROM
> DB_NAME.dbo.TABLE_NAME WHERE id= 111204892204688')' is not a valid identif
ier.
> The query specified in the error runs just fine on its own (see my first
> step).
> I searched the web and tech groups for answers but can't find any
> information on this error. Please help.
> Thank you, A
>
linked server null
and select * from sql2000.dbo.tablename
Where sql2000 is a link from sql server05 to sql server 2000
it works
Same thing happens if I just try Test Connection under Linked Servers on my
local machine.
If on my desktop in ManagementStudio I try the same query I get:
TITLE: Microsoft SQL Server Management Studio
"The test connection to the linked server failed."
ADDITIONAL INFORMATION:
An exception occurred while executing a Transact-SQL statement or batch.
(Microsoft.SqlServer.ConnectionInfo)
TCP Provider: An existing connection was forcibly closed by the remote host.
Login failed for user '(null)'. Reason: Not associated with a trusted SQL
Server connection.
OLE DB provider "SQLNCLI" for linked server "HRSQL" returned message
"Communication link failure". (Microsoft SQL Server, Error: 10054)
For help, click:
[url]http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00 .3042&EvtSrc=MSSQLServer&EvtID=10054&LinkId=20476[ /url]
BUTTONS:
OK
Hi Chuck,
I understand that the linked server failed to work on your local machine
with the error:
"TCP Provider: An existing connection was forcibly closed by the remote
host.
Login failed for user '(null)'. Reason: Not associated with a trusted SQL
Server connection.
OLE DB provider "SQLNCLI" for linked server "HRSQL" returned message
"Communication link failure". (Microsoft SQL Server, Error: 10054)"
If I have misunderstood, please let me know.
The error indicates that the linked server login is not associated with a
trusted SQL connection and that the login account did not have the valid
user's password.
I would like to check with you the following questions:
1. How did you add the linked server?
2. Did you use SQL login or Windows login for the linked server?
3. Is your local server in the same domain as the remote server?
4. What is your remote SQL Server login mode, Windows Authentication or
Mixed?
If your servers are in the same domain and your local domain logon account
is allowed on the remote server, I recommend that you run "osql /Stcp:HRSQL
/E" from command prompt to check if you can connect to the remote SQL
Server instance HRSQL via Windows Authentication.
If you can connect to the remote SQL Server instance, remove the linked
server from SSMS:
Server Objects->Linked Servers
Then run the following statements to add the linked server:
sp_addlinkedserver 'HRSQL'
Go
sp_addlinkedsrvlogin 'HRSQL','true'
Go
Then run the query again.
Hope this helps. If you have any other questions or concerns, please feel
free to let me know.
Best regards,
Charles Wang
Microsoft Online Community Support
================================================== ===
Get notification to my posts through email? Please refer to:
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications
If you are using Outlook Express, please make sure you clear the check box
"Tools/Options/Read: Get 300 headers at a time" to see your reply promptly.
Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscriptions/support/default.aspx.
================================================== ====
When responding to posts, please "Reply to Group" via
your newsreader so that others may learn and benefit
from this issue.
================================================== ====
This posting is provided "AS IS" with no warranties, and confers no rights.
================================================== ====
linked server null
and select * from sql2000.dbo.tablename
Where sql2000 is a link from sql server05 to sql server 2000
it works
Same thing happens if I just try Test Connection under Linked Servers on my
local machine.
If on my desktop in ManagementStudio I try the same query I get:
TITLE: Microsoft SQL Server Management Studio
--
"The test connection to the linked server failed."
ADDITIONAL INFORMATION:
An exception occurred while executing a Transact-SQL statement or batch.
(Microsoft.SqlServer.ConnectionInfo)
TCP Provider: An existing connection was forcibly closed by the remote host.
Login failed for user '(null)'. Reason: Not associated with a trusted SQL
Server connection.
OLE DB provider "SQLNCLI" for linked server "HRSQL" returned message
"Communication link failure". (Microsoft SQL Server, Error: 10054)
For help, click:
http://go.microsoft.com/fwlink?Prod...54&LinkId=20476
BUTTONS:
OK
--Hi Chuck,
I understand that the linked server failed to work on your local machine
with the error:
"TCP Provider: An existing connection was forcibly closed by the remote
host.
Login failed for user '(null)'. Reason: Not associated with a trusted SQL
Server connection.
OLE DB provider "SQLNCLI" for linked server "HRSQL" returned message
"Communication link failure". (Microsoft SQL Server, Error: 10054)"
If I have misunderstood, please let me know.
The error indicates that the linked server login is not associated with a
trusted SQL connection and that the login account did not have the valid
user's password.
I would like to check with you the following questions:
1. How did you add the linked server?
2. Did you use SQL login or Windows login for the linked server?
3. Is your local server in the same domain as the remote server?
4. What is your remote SQL Server login mode, Windows Authentication or
Mixed?
If your servers are in the same domain and your local domain logon account
is allowed on the remote server, I recommend that you run "osql /Stcp:HRSQL
/E" from command prompt to check if you can connect to the remote SQL
Server instance HRSQL via Windows Authentication.
If you can connect to the remote SQL Server instance, remove the linked
server from SSMS:
Server Objects->Linked Servers
Then run the following statements to add the linked server:
sp_addlinkedserver 'HRSQL'
Go
sp_addlinkedsrvlogin 'HRSQL','true'
Go
Then run the query again.
Hope this helps. If you have any other questions or concerns, please feel
free to let me know.
Best regards,
Charles Wang
Microsoft Online Community Support
========================================
=============
Get notification to my posts through email? Please refer to:
http://msdn.microsoft.com/subscript...ault.aspx#notif
ications
If you are using Outlook Express, please make sure you clear the check box
"Tools/Options/Read: Get 300 headers at a time" to see your reply promptly.
Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscript...t/default.aspx.
========================================
==============
When responding to posts, please "Reply to Group" via
your newsreader so that others may learn and benefit
from this issue.
========================================
==============
This posting is provided "AS IS" with no warranties, and confers no rights.
========================================
==============
Wednesday, March 21, 2012
Linked Server in Management Studio
I have created Linked Servers for Access databases. SPs are able to select data from the Linked Servers.
In Management Studio, the General Properties are greyed out and therefore can't be modified. I need to modify the Data Source to connect to different Access databases. Can't find a way to do this with a SP either. Searches seem to indicate I should be able to modify the properties using Management Studio.
Management Studio does not display the list of tables, etc. in the Access database as Enterprise Manager did for a Linked Server. The data source is on a mapped drive. The definition:
/****** Object: LinkedServer [ACCESS GENERAL] Script Date: 02/05/2007 11:56:43 ******/
EXEC master.dbo.sp_addlinkedserver @.server = N'ACCESS GENERAL',
@.srvproduct=N'OLE DB Provider for Jet',
@.provider=N'Microsoft.Jet.OLEDB.4.0',
@.datasrc=N'\\tacir2k3\Infrastructure\Databases\July 2005 Databases\General\GenDb2006_TR_Db.mdb'
Security is "Be made without a security context".
What is causing this behaviour?
Also, I cannot compile a stored procedure in VS2005 that references the Linked Server. But I can compile it using Management Studio.
Have you tried if the connection is at all made to the linked server. You can do that using the stored procedure sp_testlinkedserver @.servername.
Also, try connecting with the login's current security context unless your datasource is available for all.
Thanks,
Kuntal
After creation of a Linked Server, the General Properties page will be greyed out (hence can't be modified), this is by design. You can delete the existing Linked Server and create a new one for the other Data Source.
Thanks
Arpita
True in this case for the new connection you have to recreate the Linked server connection again.
If you want to import the data from that access database with some tables then you can take help of DTS too.
|||Is it also by design that it no longer displays a list of the tables in the linked database?
Does anyone know why I can't compile a SP in VS2005 that references a linked database? It will compile in Management Studio and it will execute in Management Studio.
Linked Server Hang up
server.
A pass through query like "select * from linkedtable" works fine. But
"select * from linkedtable where linkedtablekey=1" fails - ODBC timeout
error.
The same thing happens when I try the queries in Query Analyzer.
This error only occurs on the production computer - the queries work fine in
the test environment.
Thanks, in advance, for suggestions.
DT
I would check and see if schema of the production and test servers are
identicall (indexes, triggers, constraints...). Also, if indexes are not
set up properly and there is much more data on production server, it could
be the cause for time out (large scan operation on source)
MC
"David Taylor" <dreddog@.gmail.com> wrote in message
news:ekE%23ZPRoIHA.2292@.TK2MSFTNGP03.phx.gbl...
> My MS Access app links to an SQL Server 2000 db which includes a linked
> server.
> A pass through query like "select * from linkedtable" works fine. But
> "select * from linkedtable where linkedtablekey=1" fails - ODBC timeout
> error.
> The same thing happens when I try the queries in Query Analyzer.
> This error only occurs on the production computer - the queries work fine
> in the test environment.
> Thanks, in advance, for suggestions.
> DT
>
Linked Server Hang up
server.
A pass through query like "select * from linkedtable" works fine. But
"select * from linkedtable where linkedtablekey=1" fails - ODBC timeout
error.
The same thing happens when I try the queries in Query Analyzer.
This error only occurs on the production computer - the queries work fine in
the test environment.
Thanks, in advance, for suggestions.
DT"David Taylor" <dreddog@.gmail.com> wrote in message
news:ekE%23ZPRoIHA.2292@.TK2MSFTNGP03.phx.gbl...
> My MS Access app links to an SQL Server 2000 db which includes a linked
> server.
> A pass through query like "select * from linkedtable" works fine. But
> "select * from linkedtable where linkedtablekey=1" fails - ODBC timeout
> error.
> The same thing happens when I try the queries in Query Analyzer.
> This error only occurs on the production computer - the queries work fine
> in the test environment.
> Thanks, in advance, for suggestions.
> DT
Hi David
You may want to use SQL Profiler to see exactly what SQL is being executed
on the server. If the where clause is being implemented on the client it may
be trying to return a large amount of data.
Have you checked that indexes, usage and statistics are up-to-date on the
production server?
John|||I would check and see if schema of the production and test servers are
identicall (indexes, triggers, constraints...). Also, if indexes are not
set up properly and there is much more data on production server, it could
be the cause for time out (large scan operation on source)
MC
"David Taylor" <dreddog@.gmail.com> wrote in message
news:ekE%23ZPRoIHA.2292@.TK2MSFTNGP03.phx.gbl...
> My MS Access app links to an SQL Server 2000 db which includes a linked
> server.
> A pass through query like "select * from linkedtable" works fine. But
> "select * from linkedtable where linkedtablekey=1" fails - ODBC timeout
> error.
> The same thing happens when I try the queries in Query Analyzer.
> This error only occurs on the production computer - the queries work fine
> in the test environment.
> Thanks, in advance, for suggestions.
> DT
>
Monday, March 19, 2012
Linked server execution plans
for ODBC provider.
When I issue a simple query such as:
select * from linked_server..schema.table_name where field1 = '111111'
It takes the same amount of time as:
select * from linked_server..schema.table_name
Looking at the execution plan the reason for this becomes obvious. The plan
always uses a table scan passing only the select portion of the query, and
then applies a filter with the where clause once ALL records have been
retrieved from the linked server.
Is there any way to override the execution plan and force it to pass through
the entire select statement, including the where clause, for the remote
server to process without using OPENQUERY?Having a stored procedure on the linked server, and calling it using 4-part
name acceptable in this case?
--
Vyas, MVP (SQL Server)
http://vyaskn.tripod.com/
"Charles J Ryan" <charlesryan1@.msn.com> wrote in message
news:eNb9Bz6iEHA.3612@.TK2MSFTNGP12.phx.gbl...
> I have created a linked server to a non sql server database using the
OLEDB
> for ODBC provider.
> When I issue a simple query such as:
> select * from linked_server..schema.table_name where field1 = '111111'
> It takes the same amount of time as:
> select * from linked_server..schema.table_name
> Looking at the execution plan the reason for this becomes obvious. The
plan
> always uses a table scan passing only the select portion of the query, and
> then applies a filter with the where clause once ALL records have been
> retrieved from the linked server.
> Is there any way to override the execution plan and force it to pass
through
> the entire select statement, including the where clause, for the remote
> server to process without using OPENQUERY?
>|||"Narayana Vyas Kondreddi" <answer_me@.hotmail.com> wrote in message
news:e8RoPK7iEHA.340@.TK2MSFTNGP10.phx.gbl...
> Having a stored procedure on the linked server, and calling it using
> 4-part
> name acceptable in this case?
> --
> Vyas, MVP (SQL Server)
> http://vyaskn.tripod.com/
>
Unfortunately no.
The server being linked to does not support stored procedures.
linked server error & tuning for OLE ODBC database
I have SQL 2005 connecting a ODBC database via linked servers. The issues
are 2:
1. select * from linksever.db.owner.invoicedetail takes longer for the
results to come. The table has 4,700,050 records. Is there any suggestion
for performance tuning.
2. I get an error when creating the view for the above table. The error is:
Server: Msg 7353, Level 16, State 1, Line 1 OLE DB provider 'SQLOLEDB'
supplied inconsistent metadata. An extra column was supplied during
execution that was not found at compile time.
http://support.microsoft.com/Default.aspx?id=266337
The KB says it is for SQL 7.0. Has anyone had this error on SQL 2005.
Any suggestion is appreciated.
Regards,
ChinsHi Chins
"Chinnasamy Arumugam" wrote:
> Hi,
> I have SQL 2005 connecting a ODBC database via linked servers. The issues
> are 2:
> 1. select * from linksever.db.owner.invoicedetail takes longer for the
> results to come. The table has 4,700,050 records. Is there any suggestion
> for performance tuning.
Have you tried using OPENQUERY or executing a procedure on the linked server?">
> 2. I get an error when creating the view for the above table. The error is
:
> Server: Msg 7353, Level 16, State 1, Line 1 OLE DB provider 'SQLOLEDB'
> supplied inconsistent metadata. An extra column was supplied during
> execution that was not found at compile time.
> http://support.microsoft.com/Default.aspx?id=266337
> The KB says it is for SQL 7.0. Has anyone had this error on SQL 2005.
>
Do you explicitly name the columns being used? How about posting DDL (table
and view)?
> Any suggestion is appreciated.
> --
> Regards,
> Chins
>
John
linked server error & tuning for OLE ODBC database
I have SQL 2005 connecting a ODBC database via linked servers. The issues
are 2:
1. select * from linksever.db.owner.invoicedetail takes longer for the
results to come. The table has 4,700,050 records. Is there any suggestion
for performance tuning.
2. I get an error when creating the view for the above table. The error is:
Server: Msg 7353, Level 16, State 1, Line 1 OLE DB provider 'SQLOLEDB'
supplied inconsistent metadata. An extra column was supplied during
execution that was not found at compile time.
http://support.microsoft.com/Default.aspx?id=266337
The KB says it is for SQL 7.0. Has anyone had this error on SQL 2005.
Any suggestion is appreciated.
Regards,
Chins
Hi Chins
"Chinnasamy Arumugam" wrote:
> Hi,
> I have SQL 2005 connecting a ODBC database via linked servers. The issues
> are 2:
> 1. select * from linksever.db.owner.invoicedetail takes longer for the
> results to come. The table has 4,700,050 records. Is there any suggestion
> for performance tuning.
Have you tried using OPENQUERY or executing a procedure on the linked server?
> 2. I get an error when creating the view for the above table. The error is:
> Server: Msg 7353, Level 16, State 1, Line 1 OLE DB provider 'SQLOLEDB'
> supplied inconsistent metadata. An extra column was supplied during
> execution that was not found at compile time.
> http://support.microsoft.com/Default.aspx?id=266337
> The KB says it is for SQL 7.0. Has anyone had this error on SQL 2005.
>
Do you explicitly name the columns being used? How about posting DDL (table
and view)?
> Any suggestion is appreciated.
> --
> Regards,
> Chins
>
John
linked server error & tuning for OLE ODBC database
I have SQL 2005 connecting a ODBC database via linked servers. The issues
are 2:
1. select * from linksever.db.owner.invoicedetail takes longer for the
results to come. The table has 4,700,050 records. Is there any suggestion
for performance tuning.
2. I get an error when creating the view for the above table. The error is:
Server: Msg 7353, Level 16, State 1, Line 1 OLE DB provider 'SQLOLEDB'
supplied inconsistent metadata. An extra column was supplied during
execution that was not found at compile time.
http://support.microsoft.com/Default.aspx?id=266337
The KB says it is for SQL 7.0. Has anyone had this error on SQL 2005.
Any suggestion is appreciated.
--
Regards,
ChinsHi Chins
"Chinnasamy Arumugam" wrote:
> Hi,
> I have SQL 2005 connecting a ODBC database via linked servers. The issues
> are 2:
> 1. select * from linksever.db.owner.invoicedetail takes longer for the
> results to come. The table has 4,700,050 records. Is there any suggestion
> for performance tuning.
Have you tried using OPENQUERY or executing a procedure on the linked server?
> 2. I get an error when creating the view for the above table. The error is:
> Server: Msg 7353, Level 16, State 1, Line 1 OLE DB provider 'SQLOLEDB'
> supplied inconsistent metadata. An extra column was supplied during
> execution that was not found at compile time.
> http://support.microsoft.com/Default.aspx?id=266337
> The KB says it is for SQL 7.0. Has anyone had this error on SQL 2005.
>
Do you explicitly name the columns being used? How about posting DDL (table
and view)?
> Any suggestion is appreciated.
> --
> Regards,
> Chins
>
John
Monday, March 12, 2012
linked server dynamic SQL help
select @.var='ServerA'
select name from @.var.master.dbo.sysobjects -- Need help here
Right now its just one server but eventually i want to probably use a group
of servers and kinda use a cursor.You can do it via dynamic sql
declare @.var varchar(50)
select @.var='ServerA'
exec ('select name from '+ @.var + '.master.dbo.sysobjects')
"Hassan" <fatima_ja@.hotmail.com> wrote in message
news:%23uSu9Y7DFHA.1188@.tk2msftngp13.phx.gbl...
> declare @.var varchar(50)
> select @.var='ServerA'
> select name from @.var.master.dbo.sysobjects -- Need help here
> Right now its just one server but eventually i want to probably use a
group
> of servers and kinda use a cursor.
>|||Yup i should have mentioned that i tried that.. and thats why posted the
other message with some code. Its where I want to get it in a cursor
"Armando Prato" <aprato@.REMOVEMEkronos.com> wrote in message
news:epeI$i7DFHA.3824@.TK2MSFTNGP10.phx.gbl...
> You can do it via dynamic sql
> declare @.var varchar(50)
> select @.var='ServerA'
> exec ('select name from '+ @.var + '.master.dbo.sysobjects')
> "Hassan" <fatima_ja@.hotmail.com> wrote in message
> news:%23uSu9Y7DFHA.1188@.tk2msftngp13.phx.gbl...
> group
>|||Why do you want to use a cursor? They can be performance hogs.
For static sets of data, I use set operations.
"Hassan" <fatima_ja@.hotmail.com> wrote in message
news:OtHIKr7DFHA.1040@.TK2MSFTNGP09.phx.gbl...
> Yup i should have mentioned that i tried that.. and thats why posted the
> other message with some code. Its where I want to get it in a cursor
>
> "Armando Prato" <aprato@.REMOVEMEkronos.com> wrote in message
> news:epeI$i7DFHA.3824@.TK2MSFTNGP10.phx.gbl...
>
linked server direct query problem
select * from openquery(linkedservername,'select * from
catalogname.dbo.tablename')
However, when I used direct query:
select * from linkedservername.catalogname.dbo.tablename
and it failed with this error:
++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++
OLE DB provider 'SQLOLEDB' reported an error. The provider did not give any
information about the error.
OLE DB error trace [OLE/DB Provider 'SQLOLEDB' IUnknown::QueryInterface
returned 0x80004005: The provider did not give any information about the
error.].
++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++
both dbes are SQL 2000 servers. Linked server was configured to use SQLOLEDB
as the provider...
Try deleting the datasource information and just leaving the provider
string.
"bNguyen" <bNguyen@.discussions.microsoft.com> wrote in message
news:44825EF1-0AD5-407C-8E61-AA9234DE2BFA@.microsoft.com...
> Can anyone tell me what's wrong when I was successful to use:
> select * from openquery(linkedservername,'select * from
> catalogname.dbo.tablename')
> However, when I used direct query:
> select * from linkedservername.catalogname.dbo.tablename
> and it failed with this error:
> ++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++
> OLE DB provider 'SQLOLEDB' reported an error. The provider did not give
any
> information about the error.
> OLE DB error trace [OLE/DB Provider 'SQLOLEDB' IUnknown::QueryInterface
> returned 0x80004005: The provider did not give any information about the
> error.].
> ++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++
> both dbes are SQL 2000 servers. Linked server was configured to use
SQLOLEDB
> as the provider...
|||I am not sure I understood what you meant by deleting data source. When I
used direct query, I believe we must use four-part name in the statement to
reference linked server right? Please elaborate if you can... thanks
"Derrick Leggett" wrote:
> Try deleting the datasource information and just leaving the provider
> string.
>
> "bNguyen" <bNguyen@.discussions.microsoft.com> wrote in message
> news:44825EF1-0AD5-407C-8E61-AA9234DE2BFA@.microsoft.com...
> any
> SQLOLEDB
>
>
linked server direct query problem
select * from openquery(linkedservername,'select * from
catalogname.dbo.tablename')
However, when I used direct query:
select * from linkedservername.catalogname.dbo.tablename
and it failed with this error:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
OLE DB provider 'SQLOLEDB' reported an error. The provider did not give any
information about the error.
OLE DB error trace [OLE/DB Provider 'SQLOLEDB' IUnknown::QueryInterface
returned 0x80004005: The provider did not give any information about the
error.].
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
both dbes are SQL 2000 servers. Linked server was configured to use SQLOLEDB
as the provider...Try deleting the datasource information and just leaving the provider
string.
"bNguyen" <bNguyen@.discussions.microsoft.com> wrote in message
news:44825EF1-0AD5-407C-8E61-AA9234DE2BFA@.microsoft.com...
> Can anyone tell me what's wrong when I was successful to use:
> select * from openquery(linkedservername,'select * from
> catalogname.dbo.tablename')
> However, when I used direct query:
> select * from linkedservername.catalogname.dbo.tablename
> and it failed with this error:
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> OLE DB provider 'SQLOLEDB' reported an error. The provider did not give
any
> information about the error.
> OLE DB error trace [OLE/DB Provider 'SQLOLEDB' IUnknown::QueryInterface
> returned 0x80004005: The provider did not give any information about the
> error.].
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> both dbes are SQL 2000 servers. Linked server was configured to use
SQLOLEDB
> as the provider...|||I am not sure I understood what you meant by deleting data source. When I
used direct query, I believe we must use four-part name in the statement to
reference linked server right? Please elaborate if you can... thanks
"Derrick Leggett" wrote:
> Try deleting the datasource information and just leaving the provider
> string.
>
> "bNguyen" <bNguyen@.discussions.microsoft.com> wrote in message
> news:44825EF1-0AD5-407C-8E61-AA9234DE2BFA@.microsoft.com...
> > Can anyone tell me what's wrong when I was successful to use:
> >
> > select * from openquery(linkedservername,'select * from
> > catalogname.dbo.tablename')
> >
> > However, when I used direct query:
> >
> > select * from linkedservername.catalogname.dbo.tablename
> >
> > and it failed with this error:
> >
> > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> > OLE DB provider 'SQLOLEDB' reported an error. The provider did not give
> any
> > information about the error.
> > OLE DB error trace [OLE/DB Provider 'SQLOLEDB' IUnknown::QueryInterface
> > returned 0x80004005: The provider did not give any information about the
> > error.].
> > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >
> > both dbes are SQL 2000 servers. Linked server was configured to use
> SQLOLEDB
> > as the provider...
>
>
Friday, February 24, 2012
Linked Server - sp_tables_ex
1. I have a linked server to an Access 2003 mdb database. It works, as
indicated by select statements to its tables via QA or my stored procedures.
2. However, when I click on EM, Security, Linked Servers, Tables (or Views),
I get message:
Error 0:SqlDumpExceptionHandler:Process 51 generated fatak exception
c0000005 EXCEPTION_ACCESS_VIOLATION. Sql Server is terminating the precess
This also produces SqlDump Fatal Error log which indicates apparent running
of sp_tables_ex, which displays linked server table info.
* BEGIN STACK DUMP:
* 02/03/07 11:27:03 spid 51
*
* Exception Address = 06371F31 (Ordinal109 + 0000479B Line 0+00000000)
* Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION
* Access Violation occurred reading address 00000000
* Input Buffer 144 bytes -
* exec master..sp_tables_ex N'WINFUNDSMDB' , null, null, null, '''TABLE'''
<<-- NOTE THIS!
*
* MODULE BASE END SIZE
* sqlservr 00400000 00B2CFFF 0072d000
...................................... .......
3. NOTE: If I create an empty mdb and import all objects from the current
live mdb into it, and then use this New mdb as the linked server, then I can
see the tables and views in EM.
4. Why do I care about this?
Because the connection to the linked server breaks sporadically ever few
days with the SAME SQL fatal error dump as above, apparently indicating the
the 'sp_tables_ex' procedure is being run from somewhere. It is not being
issued manually by anyone!!
The only way to restore the linked server connection is to stop and restart
sqlserver, which is very inconvenient to users of other databases.
5. I need to find a way to keep the linked server connection from breaking
due to the sporadic, but consistent fatal SqlDump error log above.
Thanks for any help.
Alan
PS.
Where might the sp_tables_ex be running from, and is there a way to kill it?
Does it get executed by maintenace plan integrity check?
Thanks.
Alan
"Alan Z. Scharf" <ascharf@.grapevines.com> wrote in message
news:%23q6Tgj8RHHA.412@.TK2MSFTNGP02.phx.gbl...
> Hi,
> 1. I have a linked server to an Access 2003 mdb database. It works, as
> indicated by select statements to its tables via QA or my stored
> procedures.
> 2. However, when I click on EM, Security, Linked Servers, Tables (or
> Views), I get message:
> Error 0:SqlDumpExceptionHandler:Process 51 generated fatak exception
> c0000005 EXCEPTION_ACCESS_VIOLATION. Sql Server is terminating the precess
> This also produces SqlDump Fatal Error log which indicates apparent
> running of sp_tables_ex, which displays linked server table info.
> * BEGIN STACK DUMP:
> * 02/03/07 11:27:03 spid 51
> *
> * Exception Address = 06371F31 (Ordinal109 + 0000479B Line 0+00000000)
> * Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION
> * Access Violation occurred reading address 00000000
> * Input Buffer 144 bytes -
> * exec master..sp_tables_ex N'WINFUNDSMDB' , null, null, null,
> '''TABLE''' <<-- NOTE THIS!
> *
> * MODULE BASE END SIZE
> * sqlservr 00400000 00B2CFFF 0072d000
> ...................................... ......
> 3. NOTE: If I create an empty mdb and import all objects from the current
> live mdb into it, and then use this New mdb as the linked server, then I
> can see the tables and views in EM.
> 4. Why do I care about this?
> Because the connection to the linked server breaks sporadically ever few
> days with the SAME SQL fatal error dump as above, apparently indicating
> the the 'sp_tables_ex' procedure is being run from somewhere. It is not
> being issued manually by anyone!!
> The only way to restore the linked server connection is to stop and
> restart sqlserver, which is very inconvenient to users of other databases.
> 5. I need to find a way to keep the linked server connection from breaking
> due to the sporadic, but consistent fatal SqlDump error log above.
> Thanks for any help.
> Alan
>
>
>
>
|||This is a bug in SQL Server. You should report it to Microsoft so they
can fix it. SQL Server should never under any conditions generate a
c0000005 EXCEPTION_ACCESS_VIOLATION error.
-Dave
Alan Z. Scharf wrote:
> Hi,
> 1. I have a linked server to an Access 2003 mdb database. It works, as
> indicated by select statements to its tables via QA or my stored procedures.
> 2. However, when I click on EM, Security, Linked Servers, Tables (or Views),
> I get message:
> Error 0:SqlDumpExceptionHandler:Process 51 generated fatak exception
> c0000005 EXCEPTION_ACCESS_VIOLATION. Sql Server is terminating the precess
> This also produces SqlDump Fatal Error log which indicates apparent running
> of sp_tables_ex, which displays linked server table info.
> * BEGIN STACK DUMP:
> * 02/03/07 11:27:03 spid 51
> *
> * Exception Address = 06371F31 (Ordinal109 + 0000479B Line 0+00000000)
> * Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION
> * Access Violation occurred reading address 00000000
> * Input Buffer 144 bytes -
> * exec master..sp_tables_ex N'WINFUNDSMDB' , null, null, null, '''TABLE'''
> <<-- NOTE THIS!
> *
> * MODULE BASE END SIZE
> * sqlservr 00400000 00B2CFFF 0072d000
> ...................................... ......
> 3. NOTE: If I create an empty mdb and import all objects from the current
> live mdb into it, and then use this New mdb as the linked server, then I can
> see the tables and views in EM.
> 4. Why do I care about this?
> Because the connection to the linked server breaks sporadically ever few
> days with the SAME SQL fatal error dump as above, apparently indicating the
> the 'sp_tables_ex' procedure is being run from somewhere. It is not being
> issued manually by anyone!!
> The only way to restore the linked server connection is to stop and restart
> sqlserver, which is very inconvenient to users of other databases.
> 5. I need to find a way to keep the linked server connection from breaking
> due to the sporadic, but consistent fatal SqlDump error log above.
> Thanks for any help.
> Alan
>
>
>
>
-Dave Markle
http://www.markleconsulting.com/blog
|||Dave,
Thanks.
Alan
"Dave Markle" <"dma[remove_ZZ]ZZrkle"@.gmail.dot.com> wrote in message
news:%23K1ymbGSHHA.488@.TK2MSFTNGP06.phx.gbl...
> This is a bug in SQL Server. You should report it to Microsoft so they
> can fix it. SQL Server should never under any conditions generate a
> c0000005 EXCEPTION_ACCESS_VIOLATION error.
> -Dave
> Alan Z. Scharf wrote:
>
> --
> -Dave Markle
> http://www.markleconsulting.com/blog