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