Skip to content

Colocar Nuvem Fiscal para utilizar o Banco SQL SERVER no lugar do SQLLocalDB

Software: Nuvem Fiscal | Grupo: SOFTSHOP

Solução

Serve para casos em que o Banco SQLLocalDB apresente defeitos e proporciona suporte a multi usuário

No Softshop 8.14.0.0 já é dessa forma

Requisitos: 1 - Apenas para Softshop com banco SQL Server

2 - O Softshop deve estar definido como "BancoSQL" e com as com a conexão do banco de dados SQL Server preenchida no Segurança.


1 - Executar SQL abaixo para criar as tabelas necessárias para a Nuvem Fiscal:

CREATE TABLE [dbo].[tbl_config](

[id_config] [int] NOT NULL,

[versaoBD] [int] NULL,

[versaoAPP] nvarchar NULL,

[dtUpdate] [datetime] NULL,

[jsonConfig] nvarchar NULL,

CONSTRAINT [PK_tbl_config] PRIMARY KEY CLUSTERED

(

[id_config] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

CREATE TABLE [dbo].[tbl_empresas](

[id_empresa] [int] IDENTITY(1,1) NOT NULL,

[CNPJ] nvarchar NULL,

[maxNSU] nvarchar NULL,

[ultNSU] nvarchar NULL,

[ultTpAmb] [int] NULL,

[ultDtConsulta] [datetime] NULL,

[merchantId] nvarchar NULL,

[merchantSecret] nvarchar NULL,

CONSTRAINT [PK_tbl_empresas] PRIMARY KEY CLUSTERED

(

[id_empresa] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[tbl_eventos](

[id_evento] [int] IDENTITY(1,1) NOT NULL,

[chNFe] nvarchar NULL,

[nProt] nvarchar NULL,

[tpEvento] nvarchar NULL,

[xEvento] nvarchar NULL,

[dhRegEvento] [datetime] NULL,

[tpAmbConsulta] [int] NULL,

[CNPJConsulta] nvarchar NULL,

[dtConsulta] [datetime] NULL,

[resNSU] nvarchar NULL,

[resSchema] nvarchar NULL,

[resXML] nvarchar NULL,

[procNSU] nvarchar NULL,

[procSchema] nvarchar NULL,

[procXML] nvarchar NULL,

CONSTRAINT [PK_tbl_eventos] PRIMARY KEY CLUSTERED

(

[id_evento] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

CREATE TABLE [dbo].[tbl_nfes](

[id_nfe] [int] IDENTITY(1,1) NOT NULL,

[chNFe] nvarchar NULL,

[nProt] nvarchar NULL,

[nNF] nvarchar NULL,

[serie] nvarchar NULL,

[CNPJEmit] nvarchar NULL,

[xNomeEmit] nvarchar NULL,

[IE] nvarchar NULL,

[dhEmi] [datetime] NULL,

[vNF] [float] NULL,

[tpAmbConsulta] [int] NULL,

[CNPJConsulta] nvarchar NULL,

[dtConsulta] [datetime] NULL,

[tipoDestino] nvarchar NULL,

[resNSU] nvarchar NULL,

[resSchema] nvarchar NULL,

[resXML] nvarchar NULL,

[procNSU] nvarchar NULL,

[procSchema] nvarchar NULL,

[procXML] nvarchar NULL,

[StatusNFe] nvarchar NULL,

[StatusManifestacao] nvarchar NULL,

CONSTRAINT [PK_tbl_nfes] PRIMARY KEY CLUSTERED

(

[id_nfe] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

INSERT INTO [dbo].tbl_config

VALUES(1,'102','1.5.1.0',NULL,'{"ConnectionTls":192,"CapturaAutomaticaNfe":true}')

GO

INSERT INTO [dbo].tbl_empresas

VALUES((SELECT TOP 1 x.CGC FROM Integrar_Lojas AS x))


2 - No Módulo "NuvemFiscal_Implement", substiur o trecho "ObjConfig.PathDB = CurrentProject.path & "\NuvemFiscal\AppData"" por:

If DLookup("BancoSql", "Seguranca") Then

ObjConfig.PathDB = SQL_getStrConexaoNuvem

Else

ObjConfig.PathDB = CurrentProject.path & "\NuvemFiscal\AppData"

End If


3 - No Módulo "NuvemFiscal_Implement", adicionar o método abaixo:

Private Function SQL_getStrConexaoNuvem() As String

On Error GoTo ex:

Dim StrConexao As String

Dim rsSql As Recordset

Set rsSql = CurrentDb.OpenRecordset("Seguranca", dbOpenDynaset, dbSeeChanges)

StrConexao = "Data Source=" & Nz(rsSql("SqlServidor"), "") & IIf(isNZ(rsSql("SqlPorta")) Or rsSql("SqlPorta") = "1433", "", "," & rsSql("SqlPorta")) & ";" & _

"Initial Catalog=" & Nz(rsSql("SqlBase"), "") & ";" & _

"persist security info=True;" & _

"user id=" & Nz(rsSql("SqlLogin"), "") & ";password=" & Nz(rsSql("SqlSenha"), "") & ";"

Set rsSql = Nothing

SQL_getStrConexaoNuvem = StrConexao

Exit Function

ex:

MsgBox "Erro no método SQL_getStrConexaoNuvem: " & Err.Description, vbCritical, "Aviso"

End Function



Tags: nuvem fiscal sql, sql, nuvem fiscal

Documentação de Testes