c# - unityvs - visual studio unity
¿Cómo conectarse a una base de datos del servidor MSSQL a través del editor Unity3d/independiente? (1)
Estoy intentando conectarme a una base de datos MS SQL a través de Unity. Sin embargo, cuando trato de abrir una conexión, obtengo una IOException: Conexión perdida.
He importado System.Data.dll desde Unity / Editor / Data / Mono / lib / mono / 2.0. Estoy usando el siguiente código:
using UnityEngine;
using System.Collections;
using System.Data.Sql;
using System.Data.SqlClient;
public class SQL_Controller : MonoBehaviour {
string conString = "Server=myaddress.com,port;" +
"Database=databasename;" +
"User ID=username;" +
"Password=password;";
public string GetStringFromSQL()
{
LoadConfig();
string result = "";
SqlConnection connection = new SqlConnection(conString);
connection.Open();
Debug.Log(connection.State);
SqlCommand Command = connection.CreateCommand();
Command.CommandText = "select * from Artykuly2";
SqlDataReader ThisReader = Command.ExecuteReader();
while (ThisReader.Read())
{
result = ThisReader.GetString(0);
}
ThisReader.Close();
connection.Close();
return result;
}
}
Este es el error que obtengo:
IOException: Connection lost
Mono.Data.Tds.Protocol.TdsComm.GetPhysicalPacketHeader ()
Mono.Data.Tds.Protocol.TdsComm.GetPhysicalPacket ()
Mono.Data.Tds.Protocol.TdsComm.GetByte ()
Mono.Data.Tds.Protocol.Tds.ProcessSubPacket ()
Mono.Data.Tds.Protocol.Tds.NextResult ()
Mono.Data.Tds.Protocol.Tds.SkipToEnd ()
Rethrow as TdsInternalException: Server closed the connection.
Mono.Data.Tds.Protocol.Tds.SkipToEnd ()
Mono.Data.Tds.Protocol.Tds70.Connect (Mono.Data.Tds.Protocol.TdsConnectionParameters connectionParameters)
Mono.Data.Tds.Protocol.Tds80.Connect (Mono.Data.Tds.Protocol.TdsConnectionParameters connectionParameters)
Por favor, haga caso omiso de los riesgos de seguridad con este enfoque, NECESITO hacer esto para las pruebas, la seguridad vendrá después. Gracias por tu tiempo.
No hagas esto No importa si la seguridad vendrá antes o después. Terminarás de volver a escribir todo el código. Hazlo de la manera correcta ahora.
Ejecute su comando de base de datos en su servidor con php, perl o cualquier idioma con el que se sienta cómodo.
Desde Unity, use la clase WWW o UnityWebRequest para comunicarse con esa secuencia de comandos y poder enviar y recibir información de su servidor. Hay muchos ejemplos por ahí . Incluso con esto, aún necesita implementar su propia seguridad, pero esto es mucho mejor de lo que tiene ahora.
También puede recibir datos múltiples con json .