AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 204081
Accepted
David Folksman
David Folksman
Asked: 2018-04-17 06:20:27 +0800 CST2018-04-17 06:20:27 +0800 CST 2018-04-17 06:20:27 +0800 CST

Como adiciono permissões de leitura/gravação em um diretório para uma conta do SQL Server

  • 772

Criei uma conta no SQL Server que uso em uma string de conexão para o aplicativo ac#.

Estou tentando exportar dados do meu banco de dados c# programaticamente,

INSERT INTO OpenRowSet( 
'Microsoft.ACE.OLEDB.12.0' 
, 'Excel 12.0;Database=C:\Temp\TestExcel.xlsx;' 
, 'SELECT * FROM [categoryData$]' 
) 
SELECT * FROM categoryData;

Quando eu faço isso recebo um erro

Não é possível inicializar o objeto de fonte de dados do provedor OLE DB "Microsoft.ACE.OLEDB.12.0" para o servidor vinculado "(null)".

Então fiz algumas pesquisas e me deparei com o seguinte guia:

https://visakhm.blogspot.co.uk/2013/12/how-to-solve-microsoftaceoledb120-error.html

Estou na etapa 2 onde tenho que adicionar permissões para a pasta Temp na conta que está acessando o banco de dados.

Isso é necessário porque o provedor usa a pasta temporária ao recuperar os dados. A pasta pode ser uma das seguintes, dependendo se você usa uma conta de sistema local ou uma conta de domínio de rede.

Para contas de rede, a pasta é

:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp

Aqui está minha string de conexão (embrulhada para facilitar a leitura):

SqlConnection con = new SqlConnection("Fonte de dados=xxxx,1433; Biblioteca de rede=DBMSSOCN;
Catálogo Inicial=footfall; ID do usuário=acesso; Senha=pw;tempo limite de conexão=0; ");

Estou correto ao assumir que a conta de usuário para a qual preciso adicionar permissões é "acesso" - que é um login que eu mesmo configurei. Em caso afirmativo, como adicionar esta conta, pois não consigo encontrá-la na caixa de diálogo de segurança.

Editar: Usando a resposta abaixo de Max Vernon, completei a ETAPA 2 do guia, mas a ETAPA 3 não posso, pois estou usando uma versão de 64 bits do SQL Server. Alguém mais sabe como contornar esse erro, pois eu realmente gostaria de poder exportar meus dados para o Excel.

Não é possível inicializar o objeto de fonte de dados do provedor OLE DB "Microsoft.ACE.OLEDB.12.0" para o servidor vinculado "(null)".

EDIT: Consegui fazer isso funcionar ontem adicionando uma conta de administrador de domínio como a conta de login para o serviço do servidor sql e, em seguida, enviando o arquivo para uma unidade de rede. Eu ainda não consigo fazê-lo funcionar localmente. Eu posso fazer com que ele escreva linhas na planilha editando manualmente os títulos das colunas para corresponder aos da tabela. Eu escrevi um novo código para criar a planilha usando System.Runtime.InteropServices; & Microsoft.Office.Interop.Excel; Então eu posso exportar os dados.

sql-server permissions
  • 1 1 respostas
  • 3181 Views

1 respostas

  • Voted
  1. Best Answer
    Hannah Vernon
    2018-04-17T06:26:05+08:002018-04-17T06:26:05+08:00

    Os direitos precisam ser fornecidos à conta de serviço do SQL Server, que normalmente é uma configuração de conta do Active Directory especificamente para uso do SQL Server. A Microsoft tem uma ótima página de documentos que descreve as contas de serviço para SQL Server.

    Verifique com o SQL Server Configuration Manager para determinar o nome dessa conta.

    Atribua direitos à pasta temporária para essa conta.

    Na imagem acima, você pode ver que o SQL Server Express está sendo executado na NT AUTHORITY\NetworkServiceconta - qualquer conta que comece com NT AUTHORITYé uma conta local para a máquina que executa o SQL Server.

    insira a descrição da imagem aqui

    • 4

relate perguntas

  • SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado

  • Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?

  • Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?

  • Quais são as principais causas de deadlocks e podem ser evitadas?

  • Como determinar se um Índice é necessário ou necessário

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve