• ベストアンサー
  • 困ってます

SQLServer の DB を、VB2005 で作成したアプリから作りたい

こんにちは。 APサーバにVB2005 DBサーバに SQLServer 2005 という環境で動作する自作アプリケーションがあります。 このアプリを新規の環境にセットアップする際には、 1. DBサーバにSQLServer をインストール 2. SQLServer Management Studio で、データベース作成 3. 同じくテーブル作成。 4. APサーバにアプリケーションをインストール 5. 動作確認 という流れになりますが、セットアップの為に 技術者が必要になってしまいます。 そこでエンドユーザが簡単にセットアップできるように 2.と3. を、セットアップ用プログラムから 自動で走らせたく思っています。 APサーバ上で動くプログラムで、 DBサーバ上のSQLServer内に「hogehoge」というデータベースを 作成するにはどのように記述すれば良いのでしょうか。 宜しくお願い致します。

共感・応援の気持ちを伝えよう!

  • SQL Server
  • 回答数1
  • 閲覧数276
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.1

ADO.NETの書き方はおわかりとして、単純にExecuteNonQueryで"CREATE DATABASE hogehoge"/"CREATE TABLE"等を実行すればよいです。 SQL Server Management Studioには、スクリプトを生成する機能があるので、すでに作ってあるDBでそれを生成させてみれば構文などもわかると思います。 (デフォルト設定の部分は無視して構わないので、結局はCREATE DATABASE文のところだけ実行すればよいと思います) データベース作成はmasterで、データベースができたらテーブルはそのデータベースで実行するように組んでください。 そうやって用意したSQLを拡張子sqlで保存して同梱し、sqlcmdユーティリティをシェル実行させる方法も可能かと思います。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

jamshid6 様 素早い御回答ありがとうございました。 なるほど master に対して CREATE DATABASE すれば良いのですね。 ちょっと難しく考えすぎていたようです。 道が開けました。助かりました。 またご縁がありましたら宜しくお願い致します。

関連するQ&A

  • SQLServer2008

    SQLServerは始めてです。 SQLServer2008 Management Studio Expressを自分のPCにインストールしました。やりたいことは、自分のPCでサーバー、データベースを作ってVB6でデータを取得したりするアプリを入れて動かせる環境に したいのですが。(他のPCにサーバーを設定せず)インストールした後、どうやってサーバー登録するのか本を見てもよく分かりません。複雑なSQLを作成しなくてもSQLServerでは簡単にできるような事を本に書いてあるみたいですが。 SQLServer Management Studio を起動するとサーバーへの接続画面が 表示されます。でもまだサーバーの登録がされていないので、エラーになってしまいます。左側のオブジェクトエクスプローラは空っぽです。この後何をすればいいのか分かりません。 それとも何か足りないのでしょうか?サーバーの登録、データベースの作成方法を教えてください。そしてサーバーへの接続画面で入力して エラーなくサーバーに接続し、データベースに接続できるように教えてください。

  • VB2005とSQLServer2005の開発

    いつもご参考にさせて頂いております。 今回VB2005ProfessionalとSQLServer 2005Developer Editionでシステムを開発しようと考えております。PCはWin7Pro64bitです。 VB2005は少し経験があるのですが、SQL Serverを使用するのが初めてです。 以前はSQLServerの代わりにAccessをデータベースとして使用していました。 そこでご質問です。 SQLServerもAccessと同様にOracle10gと接続し、 出来たデータベースをサーバー又は端末にセットし、 数人が使用できるシステムを構築することは可能でしょうか? 実際プログラムを使用するPCはVista32bit or Win7 32bitです。 ※システムはデータの取込、出力、新規作成、更新、削除等一通りの動作をします。 又、この様な構築に関して詳しく解説している本など参考(勉強)になるものがございましたら、是非教えてください。 SQLServerに関して素人なので、どなたかご教授宜しくお願い致します。

  • VB2005 SQLServer Timeout

    - プログラムの動作要件 WindowsServer2003 R2 Sp2 (X64) VS2005 VB.NET - 開発ツール、テクノロジ (製品/テクノロジ名、バージョン、エディション、サービスパック) VS2005 Vb.NET Version 8.0.50727.42 FrameworkVersion 2.0.50727 SP2 - ビジネス フェーズ (実装) ・SQLServer2005のバックアップ、リストア専用Toolの作成 Microsoft.SqlServer.Smo、Microsoft.SqlServer.ConnectionInfo, Microsoft.SqlServer.SqlEnum、Microsoft.SqlServer.SmoEnumを参照設定し、 SQL Server 2005の指定したデータベースをバックアップ、リストアを行うモジュールを作成しました。、 - 内容 大きなデータベースをバックアップしようとすると10分程度でタイムアウトしてしまいます。 ConnectionContext.ConnectTimeoutを設定してみましたが、変化がございません。 実行時のタイムアウト設定は、どのようにすれば、可能なのでしょうか?

  • VB6+SQLServer2005 DBの新規作成

    VB6+ADOを使用してSQLサーバーの新規データベースファイルを 作成しようと思っております。下記のようなプログラムを つくりましたがうまく動きません。お知恵を貸してください。 catDB.Createのところで 「インターフェイスがサポートされていません」 とエラーが出ます。 いままでAccess2000で動かしていたものをSQL2005に移設している ところです。 SQLサーバーは、はじめて触ります '--------------------------------------------- 'Const ADO_VERSION ="Microsoft.Jet.OLEDB.4.0;" Const ADO_VERSION ="SQLOLEDB;" '--------------------------------------------- Set catDB = New ADOX.Catalog catDB.Create "Provider=" ADO_VERSION & _ "Data Source=" & "d:\test"

  • SQL VC#でのDBアプリ作成方法について

    Visual C# 2010 Express(WPFアプリケーション)とSQL Server 2012 Expressでツール(データベースアプリケーション)を作成していますが,いまいち作り方を理解しておらず合っているのかわからないので,教えていただきたいです。 作成しているツールは会社の課内で使用します。 最終的には課内サーバーに保存してあるDBファイルに各社員のパソコンから作成したツール経由でDBへ読み書きします。ツールの開発は私のパソコンで行います。 課内サーバはWindowsServer2010でIPアドレスを仮に\\11.22.33.444とします。 各社員のパソコンはWin7でIPアドレスを仮に\\11.22.33.445とします。 なお本文では下記のように略して記載します。 SQL Server 2012 Express:sqlserver SQL Server Management Studio Express 2012:SSMS Visual C# 2010 Express:VC# ■私が行った作成手順 ※サーバで操作 (1)サーバにsqlserverとSSMSをインストール (2)KANAISQLという名前でインスタンスを作成。Windows認証。 (3)SSMSのセキュリティでログインユーザの中に自分のドメインユーザ名を登録 (4)SSMSで「E:\…DATA」の中に:データベースを作成(BOOKDB.mdf)。テーブル「BOOKInfo」を作成。ついでに1レコード作成。 (5)SSMSでBOOKDB.mdfをデタッチ (6)BOOKDB.mdfを「E:\…booksDB」にコピペ ※開発PCで操作 (7)パソコンにVC#,sqlserver,LocalDB,SSMSをインストール (8)SQLEXPRESSという名前でインスタンスを作成。Windows認証。 (9)VC#でWPFアプリケーションを新規作成 (10)[データ]メニューの[新しいデータ ソースの追加]→[データベース]→[データセット]→[\\11.22.33.444\…booksDB\BOOKDB.mdf]を指定→テスト接続を実行→接続OK →「ローカルにデータをコピーしますか?」といった画面で「OK」をクリック (11)データソースナビゲーションパネルから「BOOKInfo」をDataGridを指定してユーザーフォームにドラッグ&ドロップしてバインド。 (12)デバッグしてみる→正常にレコードが表示された。 (13)Datasetをデザイナーから編集でInsertクエリを作成 (14)ユーザフォームにボタンを追加してInsertクエリとUpdateクエリを実装 (15)デバッグとリビルドしてexeを実行してみる。→ツール上では正常に表示+テーブル追加された。 (16)DBファイルを確認してみた。開発PC内のデバッグフォルダリリースフォルダ内にある「BOOKDB.mdf」は更新されていた。 ※サーバで操作 (17)サーバの[E:\…booksDB\BOOKDB.mdf]が更新されているか確認してみた。 →更新されていない。(6)の時から変更なし。 ■わからないこと 1.ツールからサーバのDBへデータの変更を反映させるためにはどうしたらよいのでしょうか。 2.またツール完成後に各社員がこのツールを使用する場合は,全員sqlserverとLocalDBをパソコンにインストールしなければならないものなのでしょうか。 詳しい方ご教授御願いいたします。

  • VB6でSQLServerへADO接続するとOPENがすごく遅いんです。

    お世話になってます。 今、VB6.0で作成したシステム(ADOでACCESS2000に接続)をSQLServerに移行しています。 しかしDBの初回OPEN時に5秒くらいかかってしまいます。 原因を探しているのですが、どうしても見つかりません。 誰かご存知の方がいらっしゃいましたら、ご教示お願いします。 開発環境は以下の通りです。 OS:WindowsXP SP2 開発言語:VB6.0 SP5 データベース:SQLServer2005 ADO:ADO2.5

  • AccessとSqlServerのテーブルリンク

    Access2007とSqlServer2008を使用しています。 Accessで作成したテーブルを「データベースツール」-「データの移動」でSqlServerに移行してリンクする際、 (1)SqlServerに新規にデータベースを作成すると、リンクテーブルマネージャから見てもリンク先DBが正しく表示されますが、 (2)その後、その既存DBに同じAccess内の別のテーブルを、「データベースツール」-「データの移動」してリンクしたものは、リンクテーブルマネージャから見てもリンク先DBが ()となっており表示されていません。 ツールとしてSqlServer Management Studioを使っていますが、そこからでも(1)のテーブルは表示されていますが、(2)のテーブルは表示されません。 でもリンクはできているようなのです。 また、SqlServer Management Studioを使って、SqlServer内に新規テーブルを作成し、 それをAccessからリンクしようとしても、テーブルリンク一覧内に表示されない状態です。 (「外部データ」-「ODBCデータベース」…)にて SqlServerのファイルデータソースを表示しています) (2)のテーブルはSqlServer Management Studioから見ることができないため、更新・削除もできず困っています。 DB、テーブル、リンク方法等、何か問題があるのでしょうか? よろしくお願いします。

  • JavaからSqlServer2008への接続

    Java + EclipseからSqlServer2008への接続を勉強しています。 MidldegenというEclipseのプラグインを入れてhibernateのファイルを作成しようと試しているのですがうまくいきません。 Sql Server Management Studio2008でsaでログインし、[db1]というデータベースを作成し、その中に[tbl1]というテーブルを作成しています。 新規追加でMidldegenを選択するとフォームが表示されます。 フォームには以下の入力項目があります。 JDBC jar ->・・・sqljdbc.jar JDBCドライバ ->com.microsoft.sqlserver.jdbc.SQLServerDriver データベースURI ->jdbc:sqlserver://localhost:1433;databaseName=db1 ユーザ ->sa パスワード ->saのパスワード スキーマ ->空白です カテゴリ ->空白です ビューを含める ->false この状態でテーブル読み込みをすると 「データベース'%'が存在しません。名前が正しく入力されていることを確認してください。」 というエラーが出ます。。。 データベースURI ->jdbc:sqlserver://localhost:1433;databaseName=サーバ名\db1 とし、テーブル読み込みをすると 「このログインで要求されたデータベース"サーバ名\db1"を開けません。ログインに失敗しました。」 というエラーが出ます。。。 どなたかご教示よろしくお願いします

  • SQLServerのDB(テーブル?)が削除出来ない

    初めて質問させて頂きます。 現在会社でクライアントサーバシステムを構築しています。ベンダーに委託した為分かる範囲で環境を書いておきます。 OS サーバ:NT3.5、クライアント:WIN95が2台 DBMSサーバ:SQLServer4.21、クライアント:ACCESS2.0 サーバのアタッチテーブルを参照する形でクライアントのACCESSmdbの業務システムが稼動しています。 その環境にて先日リストア作業後に突然SQLServerのDBが下記のメッセージにて参照出来なくなりました。 メッセージ933 レベル22  データベースの最高のtimestampを取得している間に出会ったログの論理ページがログの最後のページではありません。データベースを不正に取得しています。 止むを得ずDBとデバイスを削除しようとしたのですが、 同様のメッセージが出てきて削除できません。 対策として、 (1)サーバーの再起動 (2)SQLServerの再起動 (3)(リストアしたデバイスが不良かと)思い別DATからリストアを行った。 を行ったのですが、今度は メッセージ930 レベル14 以前のシステムの終了が、不完全にLOAD DATABASEしたままのため、データベースはオープンできません。データベースをロードしなおすか、システム管理者に報告して下さい。 更に又メッセージ933 レベル22のメッセージが再び表示され 結局DBが削除出来ませんでした。 (現在のバージョンのSQLServerでは DBはテーブル、デバイスはDBと呼ばれているようです。) 色々調べたのですがどうにも手詰まりになってしまいまして非常に困っております。 このシステムを導入したベンダーに相談したのですが会社方針でこちらからサポートを打ち切ってしまっており要員もおらず対応出来ないとの事でした。 どなたか少しでもヒントになる事でも結構ですから何とぞお教え下さい。 長文で失礼しました。

  • SQLServer2000で登録情報を知りたいです。

    VB.NETとSQLServer2000でWebアプリをつくろうと思っています。 VB.NETとSQLServer2000の接続がよくわからないので教えてください。 ある書籍でVB.NETとSQLServer2000の接続文字列は下記のとおりだと書いてありました。 '接続文字列を作成して接続を開始する sqlCn.ConnectionString = "data source=Server;" "initial catalog=DB201;" "user id=db201;" "password=db201;" "persist security info=True;" sqlCn.Open() ここでの「data source」「initial catalog」「user id」「password」などの情報をインストール済みのSQLServerで調べたいのですが、どのようにするのでしょうか? 「data source」がもしサーバー名であれは、サービスマネジャーで実行されているサーバー名でよいのでしょうか? どうか教えてください。