-
Gerar ConnectMember
Este tutorial é referente a uma solicitação feita em um dos posts de Suporte aqui do fórum, em relação a listagem de membros vips que ficam no arquivo ConnectMember.txt
Antes de tudo:
REALIZE UM BACKUP DE SEU BANCO DE DADOS. Independente da ação simples deste script, não custa nada realizar um backup do banco de dados, antes de testar qualquer coisa.
Qual a função deste script:
Este script irá gerar um View das contas VIP do servidor, e uma procedure que poderá ser evocada a qualquer momento para gerar o arquivo ConnectMember.txt
Vale lembrar que:
Se o arquivo ServidorInfo.dat de seu servidor possui a opção ConnectMemberLoad = 1, somente as contas disponibilizadas dentro do ConnectMember.txt que podem se conectar ao servidor.
Requisito Básico:
Conhecimentos básicos no Query Analyzer. O script permanecerá instalado em seu banco de dados, e será chamado sempre que voce solicitar... isso pode ser via job, ou diretamente no Query.
Como instalar os scripts:
1] Rode o script abaixo 1 vez, para instalar a tabela de View em seu banco de dados. Veja que no script, estou utilizando por padrao a coluna MEMB_INFO.VIP = 1 para os vips... voce pode alterar esta parte para atender suas necessidades.
-- LISTAGEM PARA VISUALIZACAO VIP
USE MuOnline
GO
CREATE VIEW MUC_VW_ML AS
SELECT MEMB___ID = '"' + MEMB___ID + '"'
FROM MEMB_INFO
WHERE VIP = 2
GO
2] Agora rode o script abaixo 1 vez, para instalar a Procedure que realizará a criaçao do arquivo txt sempre que solicitada.
-- PROCEDURE DE EXPORTACAO DE DADOS
USE MuOnline
GO
CREATE Procedure MUC_MEMBERLIST
(
@arquivo varchar(100)
)
AS
BEGIN
DECLARE @lista varchar(8000)
SELECT @lista = 'bcp MuOnline..MUC_VW_ML out '+ @arquivo + ' -c '
EXEC master..xp_cmdshell @lista
END
GO
3] Pronto, agora toda vez que voce precisar gerar um arquivo ConnectMember.txt em seu servidor, ou atualizá-lo, sem ter que digitar um por um, execute o comando abaixo no Query Analyzer.
EXEC MUC_MEMBERLIST 'C:\MuServer\SubServer\data\ConnectMember.txt'
4] Caso queira deletar o script de seu banco de dados, rode o script abaixo em seu Query Analyzer.
DROP Procedure MUC_MEMBERLIST
DROP View MUC_VW_ML
A parte em destaque mostra o local em que o arquivo será gerado, e voce pode mudar, ou até mesmo executar mais de uma vez para atender a sua necessidade. Use a imaginacao, se voce ja utiliza algum script para colocar contas vips em seu servidor, apenas adicione a linha de geracao do arquivo txt no final para que ela sempre esteja atualizada. De um reload em seu servidor apos rodar o script.
Quaisquer problemas ou dúvidas, reportem. A medida que forem surgindo outras necessidades, podemos melhorá-la um pouco mais. Por favor, leiam o post completamente, antes de questionarem.
Créditos: Alex Muciado
Colaborador: Sŧαrk
-
Não funcionou corretamente.
SQL 2005
mensagem:
User name not provided, either use -U to provide the user name or use -T for Trusted Connection
usage: bcp {dbtable | query} {in | out | queryout | format} datafile
[-m maxerrors] [-f formatfile] [-e errfile]
[-F firstrow] [-L lastrow] [-b batchsize]
[-n native type] [-c character type] [-w wide character type]
[-N keep non-text native] [-V file format version] [-q quoted identifier]
[-C code page specifier] [-t field terminator] [-r row terminator]
[-i inputfile] [-o outfile] [-a packetsize]
[-S server name] [-U username] [-P password]
[-T trusted connection] [-v version] [-R regional enable]
[-k keep null values] [-E keep identity values]
[-h "load hints"] [-x generate xml format file]
NULL
-
Bem uso ele a anos e rola de boa no 2000, não sei se tem diferença no 2005, fez o caminho certo ?
EXEC MUC_MEMBERLIST 'C:\MuServer\SubServer\data\ConnectMember.txt'
Muda o caminho para a pasta do seu subserver.
-
claro que eu alterei o caminho.
e mais de uma vez.
Todos válidos!
é algum erro de sintaxe no BCP.
Mas eu não entendo nada do comando BCP.
Mas valeu.
-
testei no sql server 2.000 e rodou normal, mas quando eu iria ver o arquivo na pasta do servidor o arquivo não se encontrava lá, vou testar no sql server 2008 se funcionar digo aqui.
-
Bem como eu disse uso ele a um bom tempo e rola de boa no 2000, nao testei em outros.
Vou dar uma pesquisada e se descobrir o erro no 2005 posto aqui.
-
Achei um que funciona 100%
Parece que é do Leandro Daldegam
Código:
declare @memb___id varchar(10)
declare @vip int
declare @value varchar(255)
declare @address varchar(255)
SET @address = 'C:\MuServer\Data\ConnectMember.txt'
SET @value = 'DEL '+ @address
exec MASTER..XP_CMDSHELL @value
declare c cursor for select memb___id, vip FROM MEMB_INFO
open c
FETCH NEXT FROM c INTO @memb___id, @vip
WHILE @@FETCH_STATUS = 0
BEGIN
IF @vip = 1
BEGIN
SET @value = 'ECHO;"' + @memb___id + '" >> '+ @address
exec MASTER..XP_CMDSHELL @value
print @value;
END
FETCH NEXT FROM c INTO @memb___id, @vip
END
CLOSE c
DEALLOCATE c
-
Stark blz manu como sempre vc vem ajudando sempre a nos aqui no forum to com uma duvida essa job ai e aqui faz isso aqui
job pra atualizar as listas de connectmember.txt na pasta data pq se for essa me explica aond olho esse negocio ai que vc disse no vale lenbra aond acho esse arquivos e lenbrando que eu uso o serve da enc games 2.0.3.0 e uso o site trds v1.4.0
-
Esse gerador de connectmember, ele descarta a necessidade de dar restar no server vip?
Att
-
Para liberar o acesso e nescessario dar o reload na sala vip para os novos nomes que foi gerado acesse