Foros del Web » Programación para mayores de 30 ;) » .NET »

conexión a una base de datos

Estas en el tema de conexión a una base de datos en el foro de .NET en Foros del Web. Hola amig@s. Estoy iniciándome en programación c#.net y no se como puedo crear una cadena de conexión desde web.config y luego desde un sitio web ...
  #1 (permalink)  
Antiguo 08/01/2009, 10:08
 
Fecha de Ingreso: junio-2008
Mensajes: 250
Antigüedad: 15 años, 10 meses
Puntos: 1
conexión a una base de datos

Hola amig@s. Estoy iniciándome en programación c#.net y no se como puedo crear una cadena de conexión desde web.config y luego desde un sitio web crear la conexión (todo desde c#.net) insertar datos a la tabla creada en oracle SQL. Si alguien me podría poner un ejemplo explicándomelo paso a paso o si saben de algún sitio que lo expliquen bien se lo agradecería. Muchas gracias.
Un saludo.
  #2 (permalink)  
Antiguo 08/01/2009, 21:39
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Respuesta: conexión a una base de datos

en las FAQ´s hay documentación al respecto

Saludos
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 09/01/2009, 10:53
 
Fecha de Ingreso: junio-2008
Mensajes: 250
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: conexión a una base de datos

Hola de nuevo. Pues estoy probando lo de crear la conexión a la base de datos con c#.net pero sigo sin entenderlo bien. Explico mi duda. Quisiera insertar en una base de datos creada en oracle unos datos y para ello realicé lo siguiente:
A ver si me podéis echar una mano. Muchas gracias.

En el web.config
Código PHP:
<connectionStrings>
    <
add name="SqlConnectionString"
    
connectionString="Server=MiIP ;Database=Nombre de la base de datos;Uid=system;Pwd=system; Trusted_Connection=false;" providerName="System.Data.SqlClient"/>
  </
connectionStrings
En un archivo .cs
Código PHP:
class Class1
{
    static 
void Main()
    {
        
WebConfigurationManager.ConnectionStrings["miConnectionString"].ToString();
    }

    public 
void InsertRow(string connectionString)
    {
        
string queryString =
            
"INSERT INTO Dept (codigo,nombre,departamento ) values ('50', '5', '25')";
        
using (OracleConnection connection = new OracleConnection(connectionString))
        {
            
OracleCommand command = new OracleCommand(queryString);
            
command.Connection connection;
            try
            {
                
connection.Open();
                
command.ExecuteNonQuery();
            }
            catch (
Exception ex)
            {
                
Console.WriteLine(ex.Message);
            }
        }
    }

  #4 (permalink)  
Antiguo 09/01/2009, 11:02
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Respuesta: conexión a una base de datos

WebConfigurationManager.ConnectionStrings["miConnectionString"].ToString();

a q se lo asignas

deberias tener una variable del ambito de tu clase o global ahi mismo


connectionString=WebConfigurationManager.Connectio nStrings["SqlConnectionString"].ToString();
InsertRow(connectionString);

y en el main no veo q lo hagas,

ademas le dices al WebConfiguracionManager buscas en el webconfig una cadean q se llama miConnectionString q no existe ya q la unica q tienes se llama SqlConnectionString
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #5 (permalink)  
Antiguo 09/01/2009, 11:47
 
Fecha de Ingreso: junio-2008
Mensajes: 250
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: conexión a una base de datos

He realizado las modificaciones en el código según las indicaciones que me diste pero me sigue saliendo una serie de errores. Hay alguna manera de comprobar si la conexión de la base de datos están bien (que todos los datos de la cadena de conexión estén todos correctos). Muchas gracias por vuestra ayuda que me es muy útil.

Web.config
Código PHP:
<connectionStrings>
    <
add name="miConnectionString"
    
connectionString="Server=Mi IP;Database=Nombre de la base de datos;Uid=system;Pwd=Dragon2; Trusted_Connection=false;" providerName="System.Data.SqlClient"/>
  </
connectionStrings
Código PHP:
class Class1
{
    static 
void Main()
    {
        
connectionString WebConfigurationManager.connectionString["miConnectionString"].ToString();
    }

    public 
void InsertRow(string connectionString)
    {
        
string queryString ="INSERT INTO prueba (codigo,nombre,departamento ) values (50, '5', '25')";
        
using (OracleConnection connection = new OracleConnection(connectionString))
        {
            
OracleCommand command = new OracleCommand(queryString);
            
command.Connection connection;
            try
            {
                
connection.Open();
                
command.ExecuteNonQuery();
            }
            catch (
Exception ex)
            {
                
Console.WriteLine(ex.Message);
            }
        }
    }

Los errores que me salieron son los siguiente:
'ASP.default_aspx.GetTypeHashCode()': no se encontró ningún miembro adecuado que reemplazar

Asegúrese de que la clase definida en este archivo de código concuerda con el atributo 'inherits' y que extiende la clase base correcta (p. ej. Page o UserControl).
  #6 (permalink)  
Antiguo 09/01/2009, 13:26
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Respuesta: conexión a una base de datos

si es una aplicacion windows por q un web.config y no un app.config
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #7 (permalink)  
Antiguo 09/01/2009, 13:33
 
Fecha de Ingreso: junio-2008
Mensajes: 250
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: conexión a una base de datos

No es para una aplicacion windows es para un sitio web
  #8 (permalink)  
Antiguo 09/01/2009, 15:16
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Respuesta: conexión a una base de datos

bueno de todas maneras en class1 no veo por ninguna lado definido connectionString en forma global
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #9 (permalink)  
Antiguo 09/01/2009, 17:19
 
Fecha de Ingreso: junio-2008
Mensajes: 250
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: conexión a una base de datos

Me podrías explicar como definiría el connectionString ya que no lo entiendo muy bien. Muchas Gracias
  #10 (permalink)  
Antiguo 09/01/2009, 17:27
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Respuesta: conexión a una base de datos

mejor hagamos algo mejor muestrame tu codigo como esta no todo solo la parte que da lata y su clase.

solo eso y podemos empezar a revisarlo y a encontrarle solucion
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #11 (permalink)  
Antiguo 12/01/2009, 05:17
 
Fecha de Ingreso: junio-2008
Mensajes: 250
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: conexión a una base de datos

Aquí dejo todo el código que tengo creado. Muchas gracias

Web.config
Código PHP:
<?xml version="1.0" encoding="utf-8" ?>

<!-- Nota: como alternativa para editar manualmente este archivo puede utilizar la herramienta Administración de sitios Web para
     configurar los valores de la aplicación. Utilice la opción Sitio Web->Configuración de Asp.Net
     en Visual Studio.
    Encontrará una lista completa de valores de configuración y comentarios en machine.config.comments, que se encuentra
     generalmente en \Windows\Microsoft.NET\Framework\v2.0.xxxxx\Config
 -->

<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">

      
    <appSettings />
    <!--<connectionStrings />-->
        
    <system.web>

        <!-- 
            Establezca debug="true" en la compilación para insertar símbolos de depuración en la página compilada.
            Dado que este proceso afecta al rendimiento, debe establecer este valor como true durante la depuración.
        -->
        <compilation debug="false" />
              

        <!--
            La sección <authentication> permite configurar el modo de autenticación de seguridad utilizado por 
            ASP.NET para identificar a un usuario entrante. 
        -->
        <authentication mode="Windows" />
       
       
        <!--
            La sección <customErrors> permite configurar las acciones que se deben llevar a cabo/cuando un error
            no controlado tiene lugar durante la ejecución de una solicitud.  Específicamente, permite a los desarrolladores
            configurar páginas de error html que se mostrarán en lugar de un seguimiento de pila de errores.
        -->
        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
        <!-- 
            <error statusCode="403" redirect="NoAccess.htm" />
            <error statusCode="404" redirect="FileNotFound.htm" />
        -->
        </customErrors>
        
        
        <!--
            DIRECCIÓN URL COMPLETA DE REDIRECCIONES DE CLIENTE
            Algunos dispositivos móviles requieren que la dirección URL para redirecciones de cliente esté completa.
        -->
        <httpRuntime useFullyQualifiedRedirectUrl="true" />
        
        
        <!--
          ESPECIFICAR TIPO DE DICCIONARIO DE DATOS SIN COOKIES
          Esto provocará que el contenido del diccionario aparezca en la cadena de consulta de la dirección URL de solicitud local.
          Esto es necesario para la autenticación de formularios que trabajan con dispositivos sin cookies.
        -->
        <mobileControls cookielessDataDictionaryType="System.Web.Mobile.CookielessData" />


      <deviceFilters>
        <filter name="isJPhone" compare="Type" argument="J-Phone" />
        <filter name="isHTML32" compare="PreferredRenderingType" argument="html32" />
        <filter name="isWML11" compare="PreferredRenderingType" argument="wml11" />
        <filter name="isCHTML10" compare="PreferredRenderingType" argument="chtml10" />
        <filter name="isGoAmerica" compare="Browser" argument="Go.Web" />
        <filter name="isMME" compare="Browser" argument="Microsoft Mobile Explorer" />
        <filter name="isMyPalm" compare="Browser" argument="MyPalm" />
        <filter name="isPocketIE" compare="Browser" argument="Pocket IE" />
        <filter name="isUP3x" compare="Type" argument="Phone.com 3.x Browser" />
        <filter name="isUP4x" compare="Type" argument="Phone.com 4.x Browser" />
        <filter name="isEricssonR380" compare="Type" argument="Ericsson R380" />
        <filter name="isNokia7110" compare="Type" argument="Nokia 7110" />
        <filter name="prefersGIF" compare="PreferredImageMIME" argument="image/gif" />
        <filter name="prefersWBMP" compare="PreferredImageMIME" argument="image/vnd.wap.wbmp" />
        <filter name="supportsColor" compare="IsColor" argument="true" />
        <filter name="supportsCookies" compare="Cookies" argument="true" />
        <filter name="supportsJavaScript" compare="Javascript" argument="true" />
        <filter name="supportsVoiceCalls" compare="CanInitiateVoiceCall" argument="true" />
      </deviceFilters>      
    </system.web>

  
  <connectionStrings>
    <add name="miConnectionString"
    connectionString="Server=Mi IP ;Database=Nombre base de datos;Uid=system;Pwd=Igonfil; Trusted_Connection=false;" providerName="System.Data.SqlClient"/>
  </connectionStrings>
</configuration>
Código PHP:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

 
class 
Class1
{
    private 
string _cadenaConexion;

    public 
string cadenaConexion
    
{
        
get
        
{
            return 
_cadenaConexion;
        }
        
set
        
{
            
this._cadenaConexion value;
        }
    }

    static 
string connectionString WebConfigurationManager.connectionString["miConnectionString"].ToString();
    static 
SqlConnection con = new SqlConnection(connectionString);
    static 
string cmd = new SqlCommand(connectionString);
    static 
string dr = new SqlDataSource(connectionString);
    
   
    static 
void Main()
    {
        
con.ConnectionString cadenaConexion;
        
con.Open();
        
cmd.Connection con;
        
cmd.CommandText "INSERT INTO prueba (codigo,nombre,departamento ) values ('50', '5', '25')";
        
//dr = cmd.ExecuteReader;
        
        
con.Close();
        
    } 
  #12 (permalink)  
Antiguo 13/01/2009, 05:47
 
Fecha de Ingreso: junio-2008
Mensajes: 250
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: conexión a una base de datos

Hola, Era para preguntaros si me pueden poner algún ejemplo de como realizáis vosotros la cadena de conexión desde el web.config, ya que me da la sensación que lo que estoy intentando hacer yo no es correcto y en estos momentos estoy muy estancado con este tema. Muchas gracias
Un saludo.
  #13 (permalink)  
Antiguo 14/01/2009, 07:06
 
Fecha de Ingreso: junio-2008
Mensajes: 250
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: conexión a una base de datos

Hola a tod@s y perdonarme por todas las molestias que os estoy causando. Sigo estancado con el tema de la conexion de la base de datos por mediación de c# ya que sigo sin ser capaz de sacarlo adelante. Aquí os mando otro intento que he realizado el codigo es el siguiente:

en el Web.config
Código PHP:
<connectionStrings>
    <
remove name="LocalSqlServer" />    
    <
add name="LocalSqlServer" connectionString="server=MiIP;Uid=sa;pwd=pass;dataBase=Maniot" providerName="System.Data.SqlClient"/>
  </
connectionStrings
Código PHP:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public 
partial class _Default System.Web.UI.Page 
{
    class 
DataAccess
    
{
        static 
string strConnString ConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString;
        static 
SqlConnection con = new SqlConnection(strConnString);
        static 
string cmd "SELECT * FROM Noticias";
        static 
SqlDataAdapter da = new SqlDataAdapter(cmdcon);
        
        
        static 
void Main()
        {
           
con.Open();
           
           
con.Close();
        }
    }

En esta ocasión no me da ningún error pero lo que sucede que quiero que los datos que aparecen en la base de datos me salgan en un label y es aquí donde me quedo otra vez atascado ya que no se como puedo hacerlo y tampoco se si lo que llevo esta correcto o falta algo, ya que lo que he intentado me da errores. Muchas gracias por escucharme y si alguien es capaz de ayudarme se lo agradecería mucho ya que me es muy necesario sacar adelante este tema.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:52.