忍者ブログ

技術メモ

Home > ブログ > Database

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Sqlserver ユーザ定義テーブル型


--テーブルを宣言
create table nhamtbl1 (id varchar(10))
insert into nhamtbl1 values('aaa')

--ユーザ定義テーブル型を宣言
CREATE TYPE sampletabletype
  AS TABLE ( id varchar(10) )
go

--テーブル値パラメータを持つプロシージャを宣言
alter procedure sampleproc( @sampletable sampletabletype readonly)
as
 declare @id varchar(10)
 select @id = id from @sampletable
 print @id
go

--プロシージャ呼び出し
declare @sampletable sampletabletype
insert into @sampletable values('bbb')
exec sampleproc @sampletable

PR

【VisualStudioでのSQLServerへの接続】

※SqlServerはデフォルトではセキュリティが厳しい為、VSから接続できない

  以下の設定が必要

1.セキュリティー構成
    ①[SqlServer2005メニュー]-[構成ツール]-[SqlServerセキュリティ構成]を選択
    ②サービスと接続のセキュリティ構成を選択
    ③リモート接続を[ローカル接続及びリモート接続]-[TCP/IPのみを使用する]を選択する
    ④サービスを選択して、停止⇒開始で適用をクリックする
2.接続文字列
    Configに以下の接続文字列を設定する
      <connectionStrings>
        <!--<add name="MyDb" providerName="System.Data.SqlClient" connectionString="Data Source=./SQLEXPRESS;AttachDbFileName=|DataDirectory|MyDb.mdf;Integrated Security=True;User Instance=True" />-->
        <add name="MyDb" providerName="System.Data.SqlClient" connectionString="Data Source=./SQLEXPRESS;Initial Catalog=MyDb.mdf;Integrated Security=True;User Instance=True" />
      </connectionStrings>
※AttachDbFileNameを指定すると接続できない???らしい?
3.接続
    以下のソースで接続
    ConnectionStringSettings setting =
      ConfigurationManager.ConnectionStrings["MyDb"];
    DbProviderFactory factory =
      DbProviderFactories.GetFactory(setting.ProviderName);

    using (DbConnection db = factory.CreateConnection())
    {

        db.ConnectionString = setting.ConnectionString;

※参考文献は以下のURL
http://www.microsoft.com/japan/sqlserver/2005/ssj/tips/01.mspx

 

PAGE TOP