diff --git a/dDatabase/Database.cpp b/dDatabase/Database.cpp
index c301cbd90..915893778 100644
--- a/dDatabase/Database.cpp
+++ b/dDatabase/Database.cpp
@@ -35,8 +35,8 @@ void Database::Connect(const string& host, const string& database, const string&
 }
 
 void Database::Connect() {
-	con = driver->connect(Database::props);
-	con->setSchema(Database::database);
+	con = driver->connect(Database::props["hostName"].c_str(), Database::props["user"].c_str(), Database::props["password"].c_str());
+	con->setSchema(Database::database.c_str());
 }
 
 void Database::Destroy(std::string source, bool log) {
diff --git a/dDatabase/MigrationRunner.cpp b/dDatabase/MigrationRunner.cpp
index 017ebe322..253126088 100644
--- a/dDatabase/MigrationRunner.cpp
+++ b/dDatabase/MigrationRunner.cpp
@@ -45,7 +45,7 @@ void MigrationRunner::RunMigrations() {
 		}
 
 		stmt = Database::CreatePreppedStmt("SELECT name FROM migration_history WHERE name = ?;");
-		stmt->setString(1, migration.name);
+		stmt->setString(1, migration.name.c_str());
 		auto* res = stmt->executeQuery();
 		bool doExit = res->next();
 		delete res;
@@ -56,11 +56,11 @@ void MigrationRunner::RunMigrations() {
 		if (migration.name == "5_brick_model_sd0.sql") {
 			runSd0Migrations = true;
 		} else {
-			finalSQL.append(migration.data);
+			finalSQL.append(migration.data.c_str());
 		}
 
 		stmt = Database::CreatePreppedStmt("INSERT INTO migration_history (name) VALUES (?);");
-		stmt->setString(1, migration.name);
+		stmt->setString(1, migration.name.c_str());
 		stmt->execute();
 		delete stmt;
 	}
@@ -76,7 +76,7 @@ void MigrationRunner::RunMigrations() {
 		for (auto& query : migration) {
 			try {
 				if (query.empty()) continue;
-				simpleStatement->execute(query);
+				simpleStatement->execute(query.c_str());
 			} catch (sql::SQLException& e) {
 				Game::logger->Log("MigrationRunner", "Encountered error running migration: %s", e.what());
 			}
@@ -103,7 +103,7 @@ void MigrationRunner::RunSQLiteMigrations() {
 		if (migration.data.empty()) continue;
 
 		stmt = Database::CreatePreppedStmt("SELECT name FROM migration_history WHERE name = ?;");
-		stmt->setString(1, migration.name);
+		stmt->setString(1, migration.name.c_str());
 		auto* res = stmt->executeQuery();
 		bool doExit = res->next();
 		delete res;
diff --git a/dMasterServer/MasterServer.cpp b/dMasterServer/MasterServer.cpp
index 5aac3743b..e15b3052b 100644
--- a/dMasterServer/MasterServer.cpp
+++ b/dMasterServer/MasterServer.cpp
@@ -237,7 +237,7 @@ int main(int argc, char** argv) {
 	//If we found a server, update it's IP and port to the current one.
 	if (result->next()) {
 		auto* updateStatement = Database::CreatePreppedStmt("UPDATE `servers` SET `ip` = ?, `port` = ? WHERE `id` = ?");
-		updateStatement->setString(1, master_server_ip);
+		updateStatement->setString(1, master_server_ip.c_str());
 		updateStatement->setInt(2, Game::server->GetPort());
 		updateStatement->setInt(3, result->getInt("id"));
 		updateStatement->execute();
@@ -245,7 +245,7 @@ int main(int argc, char** argv) {
 	} else {
 		//If we didn't find a server, create one.
 		auto* insertStatement = Database::CreatePreppedStmt("INSERT INTO `servers` (`name`, `ip`, `port`, `state`, `version`) VALUES ('master', ?, ?, 0, 171023)");
-		insertStatement->setString(1, master_server_ip);
+		insertStatement->setString(1, master_server_ip.c_str());
 		insertStatement->setInt(2, Game::server->GetPort());
 		insertStatement->execute();
 		delete insertStatement;