OPENQUERY INSERT/UPDATE probléma

OPENQUERY INSERT/UPDATE probléma
2011-12-28T20:11:02+01:00
2011-12-31T16:22:31+01:00
2022-11-24T05:42:08+01:00
The One
Sziasztok!

Problémám gyűlt egy Linked Server-rel kapcsolatban. MS SQL 2008 Express-ből szeretnék rekordokat beszúrni, frissíteni egy MySQL adatbázisba, egyelőre sikertelünl.
A lekérdezéssel nincs gond, a többi művelet nem akar működni.

SELECT * FROM OPENQUERY(mysqldb, 'SELECT * FROM test')

Ez rendben lefut, bár az UTF8 kódolás miatt még nem tökéletes, de most nem ez a legfontosabb. (Ha valakinek van erre ötlete azt is szívesen fogadom)

SET XACT_ABORT ON INSERT OPENQUERY (mysqldb, 'SELECT id,mezo1,mezo2 FROM test ') VALUES (3,'key1','value1')


OLE DB provider "MSDASQL" for linked server "mysqldb" returned message "Ebben a munkafolyamatban nem indítható több tranzakció.".
Msg 7395, Level 16, State 2, Line 3
Unable to start a nested transaction for OLE DB provider "MSDASQL" for linked server "mysqldb". A nested transaction was required because the XACT_ABORT option was set to OFF.


Sajnos teljesen tanácstalan vagyok. Van valakinek ötlete? Találkozott már valaki ilyen problémával?

A segítséget előre is köszönöm!
Mutasd a teljes hozzászólást!
Szerintem vagy a linked szerver kreálásával vagy a MySQL user jogával van a gond. Próbáld ki, hogy a MySQL user első körben sysadmin jogosultsággal bír.

Itt egy működő példa a megvalósításra (Én is így érem el a MySQL Server-t MSSQL-ből):
Link1
Ha nincs ODBC drivered akkor azt innen letöltheted:
Link2

Két példa a linkelt szerver használatára (én is ezeket használom és megy).
Példa 1:
SELECT * FROM OPENQUERY([MYSQLAPP], 'SELECT * FROM teszt') INSERT OPENQUERY ([MYSQLAPP], 'SELECT datum FROM teszt ') VALUES ('2011-11-11')

Példa 2:
SELECT * FROM [MYSQLAPP]...[teszt] INSERT INTO [MYSQLAPP]...[teszt] (DATUM) VALUES (GETDATE())
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd