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

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

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

VBでSQLServerの「スクリプトの生成」を行いたい

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

■91613 / inTopicNo.1)  VBでSQLServerの「スクリプトの生成」を行いたい
  
□投稿者/ メケモ (1回)-(2019/07/14(Sun) 13:44:34)

分類:[VB.NET/VB2005 以降] 

皆様 初めまして。

質問させてください。長文ですが何卒よろしくお願いします。


現在VB.NETでとあるツールを以下の開発環境で開発しています。
・使用PCはMacで、Parallels(仮想化ソフト)の中でWindows10 Homeを動かしています。
・visual studio 2017 Community
・言語はVB.NET
・プロジェクトはコンソールアプリ(.NET Framework )で作成
・フレームワークは.NET Framework 3.5

やりたい事
 【サーバ上にあるDB(SQLServer)の幾つかのテーブルをローカルに中見ごとコピーしたい。】

 サーバ上には予約テーブルと呼ばれるものがいくつかありまして、このテーブルどれかに一件でもデータが入っていれば
 ローカルDBにデータごと全ての予約テーブルをコピーしないといけなくなりました。
 SQLServer Management Studio上で、DB右クリック→「タスク」→「スクリプトの生成」で複数個のテーブルの
 drop、create、insertのsqlファイルを生成できると思うのですが、これらの操作をVB.NET上から行えれば
 「データごと全ての予約テーブルをコピー」を実現できるかな、と思い色々試しておりますが解決に至っておりません。

 色々調べてみて、以下のURL
 https://became-free.com/get-create-sql/
 にやりたい事がかかれてあるようで、参考にしてMicrosoft.SqlServer.SMOとMicrosoft.SqlServer.ConnectionInfo
 を参照したりしてやってみたのですが、参考URLで言う所の「Dim sqlServer As New Microsoft.SqlServer.Management.Smo.Server」
 の部分でエラーが出てしまっています。

 『例外がスローされました: 'System.IO.FileNotFoundException' (Microsoft.SqlServer.ConnectionInfo.dll の中)
 型 'System.IO.FileNotFoundException' のハンドルされていない例外が Microsoft.SqlServer.ConnectionInfo.dll で発生しました
 ファイルまたはアセンブリ 'Microsoft.SqlServer.SqlClrProvider, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91'、またはその依存関係の 1 つが読み込めませんでした。
 指定されたファイルが見つかりません。』

 何か参照するものが足りないのでしょうか?そもそも自分がやろうとしている事が実は面倒臭い事なのかもわかりません(汗)

 まだプログラムやり始めであまり経験ないため、意味不明な質問になってしまってたら申し訳ございません。
 もっと簡単な方法があれば もしくは 参考URLなど、なんでも構いません。どなたかご教授いただけましたらありがたいです。

 以上、よろしくお願いいたします。

引用返信 編集キー/
■91614 / inTopicNo.2)  Re[1]: VBでSQLServerの「スクリプトの生成」を行いたい
□投稿者/ WebSurfer (1858回)-(2019/07/14(Sun) 17:38:16)
No91613 (メケモ さん) に返信

>  もっと簡単な方法があれば

VB.NET アプリでやるのにこだわらなければ、SSMS
をサーバーの SQL Server に接続してバックアップ
をとって、バックアップをコピーして、それをローカ
ルの SQL Server に SSMS を使って展開するのもっとも簡単かつ確実と思いますが。
引用返信 編集キー/
■91624 / inTopicNo.3)  Re[1]: VBでSQLServerの「スクリプトの生成」を行いたい
□投稿者/ 大谷刑部 (2回)-(2019/07/16(Tue) 11:47:13)
No91613 (メケモ さん) に返信
>  色々調べてみて、以下のURL
>  https://became-free.com/get-create-sql/
>  にやりたい事がかかれてあるようで、参考にしてMicrosoft.SqlServer.SMOとMicrosoft.SqlServer.ConnectionInfo
>  を参照したりしてやってみたのですが、参考URLで言う所の「Dim sqlServer As New Microsoft.SqlServer.Management.Smo.Server」
>  の部分でエラーが出てしまっています。

〜 as new 〜の構文は変数宣言と変数の初期化を同時にやる構文なので、
原因切り分けのために、一旦、

Dim sqlServer As Microsoft.SqlServer.Management.Smo.Server

sqlServer = New Microsoft.SqlServer.Management.Smo.Server

と分けてみてはいかがです?
今の状態だと、宣言が原因なのか代入が原因なのかわからないので、具体的な原因特定がしづらいかと。
引用返信 編集キー/

このトピックをツリーで一括表示


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

このトピックに書きこむ