2017-01-17 5 views
0

MariaDB(v 5.5.44)でMediaWikiデータベースを実行しているリンクサーバーにSQL Server 2008 SP4インスタンスがアクセスしています。私はテーブルから何の問題を選択しないことができています:「テーブルが存在しません」を返すMariaDBに対するOpenQueryの更新

SELECT * 
FROM OPENQUERY(MEDIAWIKI, 
'SELECT * FROM wiki.page WHERE page_title = ''Test''') 

をしかし、私はテーブルを更新しようとすると:

UPDATE OPENQUERY(MEDIAWIKI, 
'SELECT * FROM wiki.page WHERE page_title = ''Test''') 
SET page_title = 'TestChange' 

私は、次のエラーメッセージが出ます:

OLE DB provider "MSDASQL" for linked server "MEDIAWIKI" returned message "Table 'def.page' doesn't exist". 
Msg 7343, Level 16, State 4, Line 1 
The OLE DB provider "MSDASQL" for linked server "MEDIAWIKI" could not UPDATE table "[MSDASQL]". 

ユーザーを完全なパーミッションを持っているので、それは問題ではありません。また、MySQLを実行している他のリンクサーバーに対しても更新を行うことができます。どんな助けでも大変に感謝しています。ありがとう!

EDIT:動的なクエリ文字列を作成し、リンクされたサーバーで実行することで、この問題を回避できます。

答えて

1

どのような種類のODBCドライバを使用していますか? 2つ、MariaDB 1つ、MySQL 1つがあります。これは、これらのODBCのいずれかのバグのようです。今、 "def"はどういう意味ですか? MySQLの世界では、カタログ、データベース、スキーマに関する混乱が大いにあります。 MySQLの結果セットはメタデータ(column info description)とともに返されます。列情報には、「テーブルカタログ」(常にハードコーディングされた「def」)、および「テーブルスキーマ」(データベース)といういくつかのフィールドが含まれています。カタログには現在意味がなく、決して持っていないが、将来何かを意味するかもしれないことを誰が知っているか。一方、「スキーマ」は、UPDATEコマンド(UPDATE schema.table SET field = value WHERE ...)に入れることができるものです。。したがって、バグは、ODBCドライバの1つが「スキーマ」よりも「カタログ」を間違って選択しているようです。

+0

MariaDB ODBCドライバを使用していますか? – chazbot7

+1

使用しているもの:)私はこの点についてバグを提出しました。https://jira.mariadb.org/browse/ ODBC-80。もっと詳しく知りたい場合や、バグのアップデートを購読して情報を得たい場合は、その間にMySQLのODBCコネクタを使用することができます。 –

+0

固定されるまで、MySQLドライバは完全に動作します。私は私のMariaDBドライバを更新しようとすると、それが役立つかどうかを見てみるだろうが、MySQLは間違いなく今働くだろう。ありがとう! – chazbot7

2

ここでは2番目のウラジスラフです。 'def'はカタログ値として使用されます(サーバによって返されたカラムメタデータ、またはINFORMATION_SCHEMAテーブル 'TABLES'または 'COLUMNS'を参照する場合)MySQLとMariaDBコネクタの両方がカタログとしてスキーマを返し、スキーマとしてNULLを返します。

MariaDB Connector/ODBCはメタデータのどこかに「def」というスキーマ(カタログ)を持っていなければならないのですが、どのバージョンを使用していますか?実際には最新バージョンで修正される可能性があります。 Vladislavによって作成された問題

+0

私は少し後ろにいるように見える、私は1.0.5.1を使用しています。私はそれを更新し、それが動作するかどうかを確認します!また、MySQLドライバを使用するとアップデートが正常に動作することが確認されました。これは間違いなくMariaDBドライバのバグです。 – chazbot7

関連する問題