■60888 / inTopicNo.1) |
リンクサーバーからRecordSetでデーター更新をしたい |
□投稿者/ Mira (52回)-(2011/07/22(Fri) 17:30:56)
|
分類:[.NET 全般]
2011/07/25(Mon) 08:28:00 編集(投稿者) 2011/07/22(Fri) 17:33:54 編集(投稿者) 2011/07/22(Fri) 17:32:01 編集(投稿者)
いつもお世話になります
SQLServerのリンクサーバーを利用して違うサーバーのデーターを更新しようと思っています
SQLServerに行った設定は以下です ・ServerAにテーブルDataBaseA.dbo.TableAを作成(元テーブル) ・ServerBにServerAのリンクテーブルを作成 ・ServerBにビューDataBaseA.dbo.TableAを作成(中身はSelect 列名 from ServerA.DataBaseA.dbo.TableA as TableA)
・ServerA,B共にコンポーネントのMSDTCのセキュリティ設定を変更 http://support.microsoft.com/kb/329332/ja ・ServerA,B共にサーバーのプロパティ、接続タブのxact abortにチェックを入れる
ここまでの作業でServerBのビューからデーターの更新ができました
しかし以下のVB5.0のプログラムでは動作せずに困っています Rs.AddNewにて実行時エラー 3027 データベースまたはオブジェクトは読み取り専用であるため、更新できません。
参照設定:Microsoft DAO 3.51 Object Library
Set db = Workspaces(0).OpenDatabase("", False, False, "ODBC;Driver={SQL Server};Server=ServerB;DATABASE=DataBaseA;") SQL = "SELECT * From TableA" Set Rs = db.OpenRecordset(SQL, dbOpenDynaset) Rs.AddNew 〜 Rs.Update Rs.Close db.Close db.Executeでinsert intoクエリの実行はできたので 私の行った設定ではRecordSetでの更新ができないのだと思っています
このプログラムを私が変更できない為になんとか SQLServerの設定でこのプログラムを動かしたいのですが何かよい方法はないでしょうか??><
環境 Server側 Windows Server 2003 R2 SP2 SQL Server 2005 SP3 Client側 Windows XP SP2以降 Visual Studio 5.0
|
|