I'm creating an application that will create a database. I found some code on stackoverflow for creating the database using SQL Server and C#.
This is my code:
private static void Createdb()
{
// your connection string
string connectionString = "Data Source=(local);Initial Catalog=AdventureWorks;Integrated Security=SSPI;";
// your query:
var query = GetDbCreationQuery();
var conn = new SqlConnection(connectionString);
var command = new SqlCommand(query, conn);
try
{
conn.Open();
command.ExecuteNonQuery();
Console.WriteLine("Database is created successfully");
conn.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
static string GetDbCreationQuery()
{
// your db name
string dbName = "MyDatabase";
string path = "";
path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "MyFolderDatabase");
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
// path to your db files:
// ensure that the directory exists and you have read write permission.
string[] files = { Path.Combine(path, dbName + ".mdf"),
Path.Combine(path, dbName + ".ldf") };
// db creation query:
// note that the data file and log file have different logical names
string query = "CREATE DATABASE " + dbName +
" ON PRIMARY" +
" (NAME = " + dbName +
" FILENAME = '" + files[0] + "'," +
" SIZE = 3MB," +
" MAXSIZE = 10MB," +
" FILEGROWTH = 10%)" +
" LOG ON" +
" (NAME = " + dbName +
" FILENAME = '" + files[1] + "'," +
" SIZE = 1MB," +
" MAXSIZE = 5MB," +
" FILEGROWTH = 10%)" +
";";
return query;
}
But if I try to run this app. It throws an SqlException (0x80131904).
I know how to get connection string from databases in visual studio, but I'm creating the database so I can hardly get its connection string using Visual Studio or SQL Server Management Studio.
So my question is if there is any connection string for my PC.
And also important thing is that I want to publish this app, so I can't create one.
Thanks for any help
The whole error
in System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
in System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource'1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
in System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource'1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) in System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource'1 retry, DbConnectionOptions userOptions)
in System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource'1 retry, DbConnectionOptions userOptions)
in System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource'1 retry)
in System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource'1 retry)
in System.Data.SqlClient.SqlConnection.Open()
in ClubDatabaseTester.Program.Createdb()
in C:\Users\kryst\Dropbox\SQL\C#\ClubDatabaseTester\ClubDatabaseTester\Program.cs:line 90
ClientConnectionId:00000000-0000-0000-0000-000000000000
Error Number:2,State:0,Class:20
User contributions licensed under CC BY-SA 3.0