繁体   English   中英

SQL Server 与 Unity 的连接

[英]SQL Server connection with Unity

我正在尝试将我的 Unity 项目连接到 SQL Server。 我已在 Visual Studio 2017 中成功连接我的 Windows 窗体应用程序。 而且我认为如果在统一脚本中复制确切的代码,我的目标应该会实现。 我已将System.Data.Dll V3.5导入我的资产并使用unity2018.2.1.f1 我正在使用以下脚本尝试首先打开连接,但出现以下错误。

void Start () 
{
    try
    {
        string ConnString = "Data Source=DESKTOP-PVB5MHG;Initial Catalog=UnityTest;User ID=legend;Password=legend";
        SqlConnection MyConn = new SqlConnection(ConnString);
        MyConn.Open();
        Debug.Log("Connection opened !");
    }
    catch(System.Exception ex)
    {
        Debug.Log(ex.ToString());
    }
}

System.Data.SqlClient.SqlException:服务器不存在或连接被拒绝。

Mono.Data.Tds.Protocol.TdsInternalException:服务器不存在或连接被拒绝。

System.Net.Sockets.SocketException:使用了与请求的协议不兼容的地址。

在 System.Net.Sockets.Socket.Connect(System.Net.EndPoint remoteEP,布尔 requireSocketPolicy)[0x00000] 中:0
在 System.Net.Sockets.Socket+Worker.Connect () [0x00000] 中:0
--- 内部异常堆栈跟踪结束 ---
在 Mono.Data.Tds.Protocol.TdsComm..ctor(System.String 数据源,Int32 端口,Int32 packetSize,Int32 超时,TdsVersion tdsVersion)[0x00000] in:0
在 Mono.Data.Tds.Protocol.Tds..ctor(System.String 数据源,Int32 端口,Int32 packetSize,Int32 超时,TdsVersion tdsVersion)[0x00000] in:0
在 Mono.Data.Tds.Protocol.Tds70..ctor(System.String 服务器,Int32 端口,Int32 packetSize,Int32 超时,TdsVersion 版本)[0x00000] in:0 在 Mono.Data.Tds.Protocol.Tds80..ctor (System.String server, Int32 port, Int32 packetSize, Int32 timeout) [0x00000] in:0 at Mono.Data.Tds.Protocol.TdsConnectionPoolManager.CreateConnection (Mono.Data.Tds.Protocol.TdsConnectionInfo info) [0x00000] in: 0 at Mono.Data.Tds.Protocol.TdsConnectionPool.GetConnection () [0x00000] in:0 at System.Data.SqlClient.SqlConnection.Open () [0x00000] in:0 --- 内部异常堆栈跟踪结束 -- - at System.Data.SqlClient.SqlConnection.Open () [0x00000] in:0 at DB.Start () [0x00010] in D:\UnityProjects2018\DataBaseTest1\Assets\DB.cs:15 UnityEngine.Debug:Log(Object ) DB:Start() (在资产/DB.cs:20)

由于 Mono 的限制,您不能在 Unity 中使用 ODBC。 请改用http://github.com/dotnet/SqlClient

您的特定错误与 Mono 与 WinForms 时代的.Net 框架的古老版本中机器名称解析方式的差异有关。 DESKTOP-PVB5MHG将不是有效的 DNS 名称,而 Mono 仅使用 DNS 来解析Data Source

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM