システムを稼働させようとしていて、それぞれの内容を取得しようとしています.sql
ファイル指定された場所で検索し、それらをデータベースに実行します。これまでのところ、私は時間後に同じエラー時に実行された:C#.NETでエラーが発生した場合、トランザクションのSQL Serverデータベースで.sqlファイルを実行するにはどうすればよいですか?
例外メッセージ:
データベース「システム」は存在しません。名前が正しく入力されていることを確認してください。
私のコードは、現在、次のようになります。
string ScriptsLocation = "E:\\dashboard\\Scripts";
Server MS_SQL = new Server(Server);
MS_SQL.ConnectionContext.LoginSecure = false;
MS_SQL.ConnectionContext.Login = "test";
MS_SQL.ConnectionContext.Password = "test";
MS_SQL.ConnectionContext.DatabaseName = "testDatabase";
string[] Scripts = System.IO.Directory.GetFiles(ScriptsLocation);
for (int i = 0; i < Scripts.Length; i++)
{
ScriptFullName = Scripts[i];
using (var ScriptText = new StreamReader(ScriptFullName))
{
string Query = ScriptText.ToString();
using (SqlConnection Connection = new SqlConnection(MS_SQL.ConnectionContext.ConnectionString))
{
Connection.Open();
SqlTransaction Transaction = Connection.BeginTransaction();
SqlCommand Command = Connection.CreateCommand();
Command.Transaction = Transaction;
try
{
Command.CommandText = Query;
Command.ExecuteNonQuery();
Transaction.Commit();
}
catch (Exception ex)
{
Transaction.Rollback();
}
}
}
}
私は3月4日、さまざまな方法を試してみましたが、私は同じエラーを取得します。接続オブジェクトを見るとDatabaseName
プロパティは指定されたデータベース名を読み込み、コマンドオブジェクトを見ると接続プロパティのデータベース名が指定されたデータベース名を読み取るので、どこからデータベース名を取得するのか分かりません。System
私が使用しているユーザーは、システム管理者です。私はこの問題をオンラインで他の誰かを見つけることができませんでした。私はこれをSQL Server 2012および2008 R2に対してテストしています。私がテストしていマイSQLスクリプトは