Search Unity

KeyNotFoundException: The given key was not present in the dictionary.

Discussion in 'Scripting' started by palomo9314, Dec 11, 2018.

  1. palomo9314

    palomo9314

    Joined:
    Dec 14, 2014
    Posts:
    8
    Hello
    Im Trying to access to a DB created in MariaDB with HeidiSQL
    this is the code:
    Code (CSharp):
    1. using System.Collections;
    2. using System.Collections.Generic;
    3. using UnityEngine;
    4. //Uso de librería para acceder a bases de datos  FSQL
    5.  
    6. using System.IO;
    7. using Mono;
    8. using System.Data;
    9. using System.Data.SqlClient;
    10. using System.Data.Sql;
    11. using System.Data.Services;
    12. using MySql.Data.MySqlClient;
    13. //using System.Data.Common.DbConnection;
    14. using Mono.Security;
    15.  
    16.  
    17. public class conexion : MonoBehaviour {
    18.     string dataconection="Server=localhost;Port=3306;Database=test_blackdish;Uid=root;Pwd=xxxxxxx";
    19.        
    20.     void Start(){
    21.         Debug.Log(System.Environment.Version);
    22.         MySqlM();
    23.     }
    24.     public void MySqlM(){
    25.  
    26.         MySqlConnection conn=new MySqlConnection();
    27.        
    28.         conn.ConnectionString=dataconection;
    29.    
    30.  
    31.         try{
    32.  
    33.             conn.Open();
    34.             Debug.Log("conexion establecida");
    35.         }
    36.         catch(MySqlException errorvar){
    37.             Debug.Log("ERROR:"+errorvar);
    38.  
    39.         }
    40.     }
    41.     public void Conectar(){
    42.         Debug.Log("conectar");
    43.         // se crea la instancia de la conexion
    44.        
    45.       SqlConnection con =  new SqlConnection();
    46.         //Se asigna a la variable referenciada  ConnectionStrign los parámatros de la conexion a la base de datos
    47.         con.ConnectionString=dataconection;
    48.         Debug.Log("con.conection!");
    49.  
    50.         //Se abre la comunicación con el servidor
    51.        
    52.         con.Open();//wait
    53.         Debug.Log("con.Open();");
    54.        
    55.         //se verifica la conexión
    56.    
    57.         if(con.State == System.Data.ConnectionState.Open){
    58.             Debug.Log("Conectada");
    59.         }
    60.         else{
    61.             Debug.Log("Error");
    62.         }
    63.  
    64.         Debug.Log("--------END");
    65.     }
    66. //
    67.    
    68. }



    but it gives me this error:
    Code (CSharp):
    1. KeyNotFoundException: The given key was not present in the dictionary.
    2. System.Collections.Generic.Dictionary`2[System.String,System.Object].get_Item (System.String key) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:150)
    3. MySql.Data.MySqlClient.MySqlConnectionStringBuilder.get_Database ()
    4. MySql.Data.MySqlClient.MySqlConnection.set_ConnectionString (System.String value)
    5. conexion.MySqlM () (at Assets/conexion.cs:28)
    6. conexion.Start () (at Assets/conexion.cs:22)
    7.  

    I already insert the dlls MySql.Data.dll, System.Data.dll,System.Data.OracleClient.dll,System.Data.Services.dll,System.Data.Services.Client.dll