スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スポンサードリンク

SQL SERVER その① 論理名から物理ファイル名を取得する方法

現在開発しているシステムはSQL SERVER 2005を利用しており、
どうにかならないかな?といった事がしばしばあります。
その中で、T-SQL がらみとなると、結構敷居が高く、思考錯誤する事も。。。

今回はそんな中から。
過去の客先にインストールされているデータベースに対して、
新形式のデータベースを適用させる必要があり、
客先でどの場所にデータベースが保存されているのかを知る必要がでてきたので、
作ってみました。


'// 指定されたSQL SERVER データベースの論理名から物理ファイル名を取得する。
Public Function pFncGetPhysicalDatabaseName (ByVal con As System.Data.SqlClient.SqlConnection, _
                                 ByVal sLogicalDBNAME As String) As List(Of String)

Dim _Command As New System.Data.SqlClient.SqlCommand
Dim _Reader As System.Data.SqlClient.SqlDataReader
Dim _SQL As String = ""
Dim _List As List(Of String) = New List(Of String)()

_List.Clear()

   Try
      _SQL = "USE " & sLogicalDBNAME & " " & vbCrLf
      _SQL = _SQL & "select name, physical_name from sys.database_files" & vbCrLf
      _Command.Connection = con
      _Command.CommandText = _SQL
      _Reader = _Command.ExecuteReader
      While _Reader.Read()
       _List.Add(_Reader("name").ToString & "," & _Reader("physical_name").ToString)
      End While
    Catch ex As Exception
     '例外が発生した時の処理
      MsgBox(ex.ToString)
      Return _List
      Exit Function
    Finally
      _Reader.Close()
      _Command.Connection = Nothing
    End Try
    Return _List

 End Function


VB .NET 2005 で開発している部分なので、
Net Framework の恩恵を結構受けられ、簡単に実現可能です。

System.Data.SqlClient.SqlCommand
System.Data.SqlClient.SqlDataReader
を使って、指定されたデータベースの物理ファイル名を取得しています。

アプリの本体部分はDelphiとPHPで開発し、
データベース絡みのややこしい部分は VB2005 で捏ね繰り廻しているので、
それぞれの言語が持つ強みを有益に利用できていると勝手に妄想しているのですが。。。

Delphi 便利なんですが、
SQL Server の内部構造とかを調べるには、
TADOQuery などだと、スピードがイマイチ出ないです。
まあ、私の未熟な部分が影響しているのだとは思うのですが。。。

VBは本当に簡単なので、重宝しています。

スポンサードリンク

テーマ:プログラミング - ジャンル:コンピュータ

コメントの投稿

非公開コメント

スポンサードリンク
最新記事
カテゴリ
カレンダー
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
最新トラックバック
ブロとも申請フォーム

この人とブロともになる

月別アーカイブ
激安特価情報
Amazonタイムセール
楽天市場タイムセール
Yahoo出店記念セール
NTT-X Store 激安特価!
激安家電のGENO PLUS
コストコ・イケアの通販
つけたまま眠れるファンデ
家電品を安値で買うならこちら!
ケーズデンキ
ベルメゾンアウトレット
激安ブランドコスメ 週末セール
モバコレ SALE
au Brand Garden
アウトレットモール BRANDELI
ブックオフオンラインのオトナ買い
ビッグカメラ◆週末特別セール
ソフマップ 中古・アウトレット
【宿代全額ポイントバック】夏休み早期予約キャンペーン
ネットプライス 送料294円
イオンモールオンライン
EDIONネットショップ
最新コメント
天気予報

-天気予報コム- -FC2-
カウンター
検索フォーム
リンクに表示されるテキスト
ランキング参加中
クリックしていただけると、 こまつもとは大変嬉しいです。



人気ブログランキングへ

ランキングに参加しています。 クリックのご協力をお願い致します。 いつもありがとうございます。 にほんブログ村 通販ブログへ
ブログランキング・にほんブログ村へ
にほんブログ村 IT技術ブログ ソフトウェアへ
にほんブログ村 ゲームブログへ
にほんブログ村 IT技術ブログへ



人気ブログをblogramで分析

趣味・個人

ランキング

リンクリックブログランキング

私を登録 by BlogPeople



RSSリンクの表示
リンク
QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。