Если вы установили AzureRm.Sql и правильно настроили сетевое окружение (виртуальная сеть и подсеть), вы можете использовать следующий скрипт, который развертывает 8-ядерный экземпляр «общего назначения» с максимальным объемом хранения 1024:
Select-AzureRmSubscription -Subscription "60d9f1df-......"
$resourceGroup = "<resource group>"
$vNetName = "<VNet name"
$subnetName = "<subnet name>"
$instanceName = "<subnet name>"
$region = "South India"
$vNet = Get-AzureRmVirtualNetwork -Name $vNetName -ResourceGroupName $resourceGroup
$subnet = Get-AzureRmVirtualNetworkSubnetConfig -Name $SubnetName -VirtualNetwork $vNet
$subnetId = $subnet.Id
New-AzureRmSqlManagedInstance -Name $instanceName `
-ResourceGroupName $resourceGroup -Location $region -SubnetId $subnetId `
-AdministratorCredential (Get-Credential) `
-StorageSizeInGB 1024 -VCore 8 -Edition "GeneralPurpose" `
-ComputeGeneration Gen5 -LicenseType BasePrice
У Вас есть эта проблема потому что проверка преобразования язык Вашего ПК. Необходимо будет сделать что-то как:
Convert.ToSingle(m.Groups[1].Value, CultureInfo.InvariantCulture.NumberFormat);
Это пути, это не проверит язык ПК. Можно найти больше информации о InvariantCulture из MSDN. У меня есть что-то подобное в проекте и моих работах преобразования.
Или попросите этот определенный числовой формат явно:
System.Globalization.NumberFormatInfo nf
= new System.Globalization.NumberFormatInfo ( )
{
NumberGroupSeparator = "."
};
float f = float.Parse ( "5.34534", nf );
Если у Вас нет доступа для записи к базе данных, первое, что нужно сделать, пытаются убедить источники данных использовать инвариантную культуру. Если данные вводятся пользователем, можно сделать что-то как:
float f = float.Parse(input);
string toDb = f.ToString(CultureInfo.InvariantCulture);
И затем с другой стороны:
float f = float.Parse(fromDb, CultureInfo.InvariantCulture);
string toOutput = f.ToString();
Хотя, если можно убедить их в том, что это, вероятно, лучше, поскольку Lette говорит, чтобы убедить их использовать собственный тип данных.
Я был бы также, как видно из отрывков выше, перекомментарий с помощью плавания. Проанализируйте Преобразовывают по ряду причин, но старшему значащему существу способность использовать TryParse:
float f;
if (!float.TryParse(input, out f))
{
// ERROR
}
Поскольку другие сказали:
Convert.ToSingle(m.Groups[1].Value, CultureInfo.InvariantCulture);
Необходимо также удостовериться, что Вы используете InvariantCulture
при записи в базу данных. (Было бы еще лучше, если бы Вы сохранили данные к столбцу с его собственным типом данных, но я отступаю...),