C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: ストアドプロシージャでのデータベース作成


(過去ログ 58 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■33010 / inTopicNo.1)  ストアドプロシージャでのデータベース作成
  
□投稿者/ SQLDiver (1回)-(2009/02/18(Wed) 20:40:11)

分類:[データベース全般] 

開発環境 SQL Server2008 / Visual C# 2008

管理用のDBにストアドプロシージャを作成してC#のプログラムから
動的にDB名、保存先を指定してデータベースを作ろうとしています。

新規にデータベースを作成するのにsqlcmdを使用すれのであれば、
以下のようなSQLスクリプトを作って実行すればよいのでしょうが
同様の処理をストアドプロシージャで行うことは可能でしょうか。

ストアドプロシージャではUSEステートメントが使用できないという
ことで新たに作成したデータベースに対するユーザやテーブルが追加
できずに困っております。

方法をご存じの方、よろしくお願いします。

------------------------------------------------------------
USE Master
GO

CREATE DATABASE [MyDatabase] ON  PRIMARY 
(NAME = N'MyDatabase', FILENAME = N'MyDatabase.mdf')
 LOG ON 
(NAME = N'MyDatabase_log', FILENAME = N'MyDatabase_log.LDF')
GO

USE MyDatabase
GO

CREATE USER MyUserId
  FOR LOGIN MyUserId
GO

CREATE TABLE ....
------------------------------------------------------------

引用返信 編集キー/
■33012 / inTopicNo.2)  Re[1]: ストアドプロシージャでのデータベース作成
□投稿者/ オショウ (96回)-(2009/02/18(Wed) 21:06:01)
> 新規にデータベースを作成するのにsqlcmdを使用すれのであれば、
> 以下のようなSQLスクリプトを作って実行すればよいのでしょうが
> 同様の処理をストアドプロシージャで行うことは可能でしょうか。

  未確認なので、できなかったら申し訳ない・・・

  SQL CLRなら可能ではないでしょうか。
  C#でプログラム作ってストアド属性で登録し、それをキック
  すれば・・・

  http://www.atmarkit.co.jp/fdotnet/special/sqlclr01/sqlclr01_01.html

※ あくまで情報と言うことで。

以上。
引用返信 編集キー/
■33013 / inTopicNo.3)  Re[1]: ストアドプロシージャでのデータベース作成
□投稿者/ 渋木宏明(ひどり) (1083回)-(2009/02/18(Wed) 21:41:15)
渋木宏明(ひどり) さんの Web サイト
> 管理用のDBにストアドプロシージャを作成してC#のプログラムから
> 動的にDB名、保存先を指定してデータベースを作ろうとしています。

ストアドからじゃなきゃだめですか?

C# で書いたプログラムでテーブル作成などの操作が実行できればいいだけなら、SMO (SQL Server Management Object) で出来るんじゃないでしょーか。

SQL Server 管理オブジェクト (SMO)
http://msdn.microsoft.com/ja-jp/library/ms162169.aspx
引用返信 編集キー/
■33067 / inTopicNo.4)  Re[2]: ストアドプロシージャでのデータベース作成
□投稿者/ SQLDiver (3回)-(2009/02/19(Thu) 23:28:28)
> オショウさん
CLRストアドだとコード量が多くなるかな、と。
保守の観点からも避けたかったのです。

> (渋木宏明(ひどり) さん)さん
SMOのServerConnectionでExecuteNonQueryでスクリプト実行させるだけでOKでした。

ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -