- - PR -
リンクサーバーについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-11-09 11:33
windowsXP,c#を使用して開発しています。
プログラム上で、SQLサーバにリンクサーバを設定したいと 思っています。 ストアドプロシージャーの「sp_addlinkedserver」を 使えばよいのは分かるのですが、どのようにc#上から 呼び出すのか分かりません。 どなたか、ご教授お願い致します。 | ||||
|
投稿日時: 2004-11-09 13:57
!?ヘルプに例が記載されてますよね。
http://www.microsoft.com/japan/msdn/library/ja/howtosql/ht_1_013_8ojd.asp 例を元にSystem.Data.SqlClient.SqlCommandとかで問題なく出来そうな気がするのですが。 (試してないので推測です) | ||||
|
投稿日時: 2004-11-09 14:27
お返事ありがとうございます。
私も、このサンプルは参照しましたが、 SQLサーバー上のストアドプロシージャーについての記述になっています。 これを別のマシンからC#のプログラムで実行させたいのですが、 C#上からストアドプロシージャーの実行する方法が分かりません。 どのように指定すれば実行できるのか、教えていただけないでしょうか? よろしくお願い致します。 | ||||
|
投稿日時: 2004-11-09 14:49
mmさん、こんにちは。
ADO.NETを使用します。 詳しくは、MSDN ライブラリ「Visual Basic および Visual C# の概念」-「データへのアクセス」あたりを調べて下さい。 | ||||
|
投稿日時: 2004-11-09 15:45
@IT:ADO.NET基礎講座とかも見れば理解できるかも。
| ||||
|
投稿日時: 2004-11-09 18:02
お返事ありがとうございます。
教えていただいたサイトを参考にして 下記のようなプログラムを書きました。 ---------------------------------------------------------------------------- 1 public static void test() 2 { 3 string connstr="Server=motosrv;uid=testusr;password=test"; 4 SqlConnection conn = new SqlConnection(connStr); 5 SqlCommand cmd = new SqlCommand(); 6 cmd.CommandType = CommandType.StoredProcedure; 7 cmd.CommandText="sp_addlinkedserver"; 8 cmd.Parameters.Add("@server", SqlDbType.VarChar).Value = "testsrv"; 9 cmd.Parameters.Add("@srvproduct", SqlDbType.VarChar).Value = "SQL Server"; 10 11 conn.Open(); 12 cmd.ExecuteNonQuery(); 13 conn.Close(); 14 } ---------------------------------------------------------------------------- これを実行すると、次のようなエラーが出ます。 ---------------------------------------------------------------------------- System.InvalidOperationException' のハンドルされていない例外が system.data.dll で発生しました。 追加情報 : ExecuteReader: Connection プロパティは初期化されていません。 ---------------------------------------------------------------------------- このエラーを検索すると、Connection の文字列が正しくないのでは、 と記述されていますが、接続文字列は3行目で指定しているように サーバ名、ユーザ名、パスワードです。 他に指定しなくてはいけない項目があるのでしょうか? また、このプログラムで11行目で「ExecuteNonQuery」を使用していますが、 ここで、これを使用するのは正しいでしょうか? どうか、ご教授をお願いします。 | ||||
|
投稿日時: 2004-11-09 18:27
cmd.Connection = conn;
を追加してください。作成したコネクションはコマンドに関連付ける必要があります。 #そうか、SQLの発行がわからなかったのか…。 | ||||
|
投稿日時: 2004-11-10 10:22
お返事ありがとうございます。
無事、リンクサーバの設定ができました。 ありがとうございました。 |
1