2016-10-04 1 views
0

I는 다음과 같이 말끔를 통해 드롭와 MySQL의 데이터베이스를 만들 싶습니다Dapper를 사용하여 스키마를 삭제하고 + 만들 수 있습니까?

"알 수없는 데이터베이스 '

public class GenericSqlExecutionRepository 
{ 
    private IDbConnection _db; 

    public void RecreateDb() 
    { 
     _db.Execute("DROP DATABASE IF EXISTS `my_db`;"); 
     _db.Execute("CREATE DATABASE `my_db`;"); 
    } 
} 

드롭 데이터베이스가 잘 작동하지만, 만들 데이터베이스를 실행하려고 갔지 my_db ' "MySql.Data.MySqlClient.NativeDriver.SetDatabase (문자열 DBNAME)에서 MySql.Data.MySqlClient.MySqlStream.ReadPacket() MySql.Data.MySqlClient.NativeDriver.ReadOk에서 (부울 읽기) 에서

Dapper.SqlMapper.ExecuteCommand에서 MySql.Data.MySqlClient.MySqlConnection.Open() 에서 MySql.Data.MySqlClient.MySqlConnection.ChangeDatabase (문자열 databaseName을) 에서 MySql.Data.MySqlClient.Driver.SetDatabase (문자열 DBNAME) 에서Dapper.SqlMapper.Execute (IDbConnection을 CNN, 문자열 SQL, 개체 PARAM, IDbTransaction 거래, Null 허용에 Dapper.SqlMapper.ExecuteImpl (IDbConnection을 CNN, CommandDefinition & 명령) 에서 (IDbConnection을 CNN, CommandDefinition & 명령, Action'2 paramReader) ' 1 CommandTimeout이, Nullable'1 CommandType을) 물론 내의

10은 단일 데이터베이스 (연결 문자열에 지정)에 연결됩니다. 그래서 :이 문제를 우회하여 Dapper를 통해 drop + create를 할 수 있습니까?


추가 INFOS

는 VAR _db은과 같이 생성됩니다

public static MySqlConnection GetConnection(string connectionStringId) 
{ 
    var connectionString = ConfigurationManager.ConnectionStrings[connectionStringId].ConnectionString; 
    var connection = new MySqlConnection(); 
    connection.ConnectionString = connectionString; 

    return connection; 
} 

App.config의 연결 문자열은 :

<add name="myDbId" connectionString="Server=localhost;Port=3306;Database=my_db;User=yyyyyyy;Password=zzzzzzz;Convert Zero Datetime=True;Compress=True;" providerName="System.Data.SqlClient"/> 

답변

0

그것은 단순히으로 보이는 제거연결 문자열에서을 입력하면 Dapper는 다음과 같이 확인됩니다.

<add name="myDbId" connectionString="Server=localhost;Port=3306;User=yyyyyyy;Password=zzzzzzz;Convert Zero Datetime=True;Compress=True;" providerName="System.Data.SqlClient"/> 

이제 두 쿼리가 모두 작동합니다.

+0

기본 데이터베이스가 삭제 되었기 때문에 잘못된 연결 개체를 사용하려고 시도했을 때 오류가 발생했다는 오류가 발생했습니다. –