如何将SQL Server数据库与Unity3D连接?

时间:2019-03-04 15:45:31

标签: c# sql-server unity3d

我的英语不好,但是我正在尽力描述我的问题。我已经从

复制了I18N.dll,I18N.CJK.dll,I18N.West.dll和System.Data.dll

D:\Program Files\Unity\Editor\Data\Mono\lib\mono\2.0

但很快出现如下错误:

  

错误CS1703:已导入具有相同标识的多个程序集:   'D:\ GSS Project \ Assets \ Plugins \ System.Data.dll'和'D:\ Program Files \ Unity \ Editor \ Data \ MonoBleedingEdge \ lib \ mono \ 4.7.1-api \ System.Data.dll'。删除重复的引用之一。

此外,另一个目录中发生了相同的异常:

D:\Program Files\Unity\Editor\Data\NetStandard\compat\2.0.0\shims\netfx\

当时,为了解决该问题,我在两个目录中都删除了System.Data.dll,然后可以在Visual Studio 2017中使用名称空间System.Data。但是当我使用{{1} },还有另一个错误:

  

Assets \ Scripts \ DBConnection.cs(39,35):错误CS0433:类型'ConnectionState'同时存在于'System.Data,版本= 2.0.0.0,区域性=中性,PublicKeyToken = b77a5c561934e089'和'netstandard,版本= 2.0.0.0,文化=中性,PublicKeyToken = cc7b13ffcd2ddd51'

尝试了许多方法之后,我发现是否输入了

System.Data.ConnectionState

并将.Net Standard 2.0更改为.Net 4.x,可以避免该错误。 但是这种方法对吗?完成此操作后,我仍然无法访问数据库,因为发生了许多异常(它们大多数与Edit --> Project Settings --> Player --> Other Settings --> Configuration --> Api Compatibility Level有关)。

我的方法可能有很多问题,但是谁能告诉我什么是正确的方法?

非常感谢。

1 个答案:

答案 0 :(得分:0)

正如评论中的用户所述,与dll的直接连接不再安全,使用php互连更安全更好。

(特别是,如果您正在考虑在WEBGL平台上发布,则在构建游戏后将很难使sql连接正常工作,这就是我目前所处的位置)

话虽如此,

由于

  

“系统..”

(存在两次),您的资产中不需要system.Data.dll。

擦除 System.Data.dll ,您只需要已有的I18N文件和

  

MYSQL.data.dll,GoogleProtofub和bouncyCasteCrypto。

还将NET版本更改回4X.V2。

最后,您可以从MYSQL官方站点找到mysql连接器/.NET文件。

我希望这会有所帮助。让我知道其他错误。