Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola a todos, tudo bom?
É o seguinte, vi no site do macoratti (http://www.macoratti.net/d311202.htm) e queria fazer algo igual, mas utilizando o sql server, em vez do access,soh que deu um erro como mostrado abaixo
Dim strConexao As StringOn Error Resume NextstrConexao = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Cedetec;Data Source=CEDETEC8B"Set Conexao = New ADODB.ConnectionWith Conexao .ConnectionString = strConexao .CursorLocation = adUseClient .OpenEnd With'Até esse ponto, tudo certoDim Info as ADODB.RecordSetSet Info = Conexao.OpenSchema(Schema:=adSchemaProviderSpecific, _ SchemaID:="{947bb102-5d43-11d1-bdbf-00c04fb92675}")
Ele táh dando um erro 3251 - O objeto ou provedor não é capaz de executar a
ação solicitada.
Acho que o problema é no SchemaID, mas o que eu tenho que por lah?
Tipo,
Não sou um grande conhecedor, mas Schema é uma abstração usada em Oracle e Mysql, no site que você exemplificou, ele deve ter usado um desses dois, certo? Ou de repente um terceiro que usa essa mesma abstração.
O Sql server não tem esse conceito de schema, mas, para a mesma coisa, ele chama de database.
Se naquela sua linha o que você está querendo fazer com que a conexão use um database em específico, você pode fazer o seguinte:
Dim Info as ADODB.RecordSetSet Info = Conexao.execute(" use noneDoBanco ")
Como eu disse, não sou um bom conhecedor de VB mas conheço bastante de banco de dados. Acredito que exista um método só para isso, mas você pode fazer também por uma consulta sql.
Espero ter ajudado!
Pilot