How do I connect to Google Cloud SQL Server using C#?(如何使用C#连接到Google Cloud SQL Server?)
问题描述
我刚刚在Google Cloud平台上设置了一个SQL Server。&我在那里创建了一个数据库和表。我使用了微软的SQL Server Management Studio(SSMS)来连接和创建数据库和表。这一切都奏效了。我根据Google的Cloud SQL说明设置了代理地址127.0.0.1:1443。这一切都奏效了。 但是,我想要做的是使用C#应用程序连接到这个远程服务器。我在我的机器上使用C#程序连接到SQL Server没有问题,但我不知道如何配置才能连接到Google Cloud平台上远程程序上的程序。对于我的代码,我使用System.Data.SqlClient库。
我的连接字符串如下。希望下面的代码足以告诉您发生了什么。当我调用loadInfoFromDatabase()时,它在点击`Connection.Open()时失败。在下面的代码中,我在它旁边写了&FAIES HERE。
连接字符串是在尝试了不同的方法后才猜测出来的。如有任何帮助,我们将不胜感激。
谢谢!
public string _connectionString = @"Server=127.0.0.1:1443;Database=MarsDatabase;User Id=sqlserver;Password=AAABBBCCC";
private void loadInfoFromDatabase()
{
string firstName, middleName, lastName, email, password, assignedTables;
string connectionString;
SqlDataReader dataReader;
connectionString = _connectionString;
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open(); //FAILS HERE...
SqlCommand command = connection.CreateCommand();
SqlTransaction transaction;
// Start a local transaction.
transaction = connection.BeginTransaction("loadInfoFromDatabse");
// Must assign both transaction object and connection
// to Command object for a pending local transaction
command.Connection = connection;
command.Transaction = transaction;
try
{
command.CommandText = "Select * From Info";
// Attempt to commit the transaction.
dataReader = command.ExecuteReader();
while (dataReader.Read())
{
...
}
dataReader.Close();
command.Dispose();
// connection.Close();
transaction.Commit();
Console.WriteLine("Selection from managers table worked.");
}
catch (Exception ex)
{
}
}
}
推荐答案
我看到您正在使用Cloud SQL Proxy通过Tcp连接到SQL Server实例。
问题出在您的连接字符串上,因为您缺少tcp前缀。通过查看ConnectionString属性上的Server,您可以看到其中的说明:
tcp格式必须以前缀";tcp:";开头。(例如,服务器=tcp:服务器名,端口号)
要解决此问题,请将您的连接字符串更改为:
@"Server=tcp:127.0.0.1,1443;Database=MarsDatabase;User ID=sqlserver;Password=AAABBBCCC";
这篇关于如何使用C#连接到Google Cloud SQL Server?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何使用C#连接到Google Cloud SQL Server?
基础教程推荐
- 我应该在后面的代码中直接使用 Linq To SQL 还是使 2022-01-01
- 当值可以是对象或空数组时反序列化 JSON 2022-01-01
- WPF 模态进度窗口 2022-01-01
- 如何使用 .Net 检查 Active Directory 服务器是否已启动并正在运行? 2022-01-01
- .NET SerialPort DataReceived 事件未触发 2022-01-01
- Azure Functions:CosmosDBTrigger 未在 Visual Studio 中触发 2022-01-01
- 如果有人提交恶意软件Nuget包怎么办? 2022-01-01
- 禁止输入少量字符,例如'<'、'&a 2022-01-01
- Moq It.Is<>不匹配 2022-01-01
- C# 从 List<List<int>> 中删除重 2022-01-01
