Pergunta

Eu tenho um grande ADO.Net DataSet e dois esquemas de banco de dados (Oracle) com diferentes restrições. O conjunto de dados irá trabalhar com qualquer esquema, mas eu quero ser capaz de dizer o conjunto de dados que esquema para uso (via string de conexão) em tempo de execução.

Isso é mesmo possível?

Foi útil?

Solução

Em 2,0 mundo da Net, você pode alterar sua seqüência de conexão em seus adaptadores de mesa em tempo de execução. Você apenas tem que ter certeza que a propriedade Connnection é pública, que pode ser definida a partir do designer de conjunto de dados.

Outras dicas

Os conjuntos de dados não sei o banco de dados que está apontando para - eles são recipientes apenas para dados. Se o conjunto de dados é preenchido com um adaptador de dados, então, como @Austin Salonen apontou, você mudar isso no lado do adaptador.

Este é um trecho de código de como você poderia atualizadas a seqüência de conexão em tempo de execução. Não importa o que gerou o conjunto de dados.

            DataSet ds = new DataSet();

            // Do some updateing here

            // Put your connection string here dyanmiclly
            System.Data.OleDb.OleDbCommand command = new System.Data.OleDb.OleDbCommand("Your Runtime Connection String");

            // Create the data Adapter
            System.Data.OleDb.OleDbDataAdapter dataAdapter = new System.Data.OleDb.OleDbDataAdapter(command);

            // Update the dataset
            dataAdapter.Update(ds);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top