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:動的なクエリ文字列を作成し、リンクされたサーバーで実行することで、この問題を回避できます。
MariaDB ODBCドライバを使用していますか? – chazbot7
使用しているもの:)私はこの点についてバグを提出しました。https://jira.mariadb.org/browse/ ODBC-80。もっと詳しく知りたい場合や、バグのアップデートを購読して情報を得たい場合は、その間にMySQLのODBCコネクタを使用することができます。 –
固定されるまで、MySQLドライバは完全に動作します。私は私のMariaDBドライバを更新しようとすると、それが役立つかどうかを見てみるだろうが、MySQLは間違いなく今働くだろう。ありがとう! – chazbot7