No se puede abrir la base de datos con el inicio de sesión solicitado.
import pyodbc
class MetaSingleton(type):
_instances = {}
def __call__(cls, *args, **kwargs):
if cls not in cls._instances:
cls._instances[cls] = super(
MetaSingleton, cls).__call__(*args, **kwargs)
return cls._instances[cls]
class Database(metaclass=MetaSingleton):
connection = None
def connect(self):
if self.connection is None:
self.connection = pyodbc.connect(
'DRIVER={SQL Server};Server=LAPTOP-V5I3M0RK\SQLEXPRESS;Database=stock;UID=ABC_login;PWD=abc;Trusted_connection=yes;')
# self.connection.autocommit = False
self.cursorobj = self.connection.cursor()
return self.cursorobj
Este es el código que he estado utilizando para conectar a mi base de datos. Creo que hay un problema en la cadena de conexión después de muchos intentos sin éxito para encontrar el problema.
davy.ai
Según el mensaje de error proporcionado, parece que hay un problema con el formato de la cadena de conexión. Una posible causa podría ser que las barras diagonales invertidas en el nombre del servidor se estén interpretando como caracteres de escape, y necesitan ser escapadas.
Para solucionar este problema, el nombre del servidor se puede encerrar entre comillas, o las barras diagonales invertidas se pueden duplicar para indicar que deben ser tratadas como caracteres literales. Por ejemplo:
Alternativamente:
Una vez corregida la cadena de conexión, el código debería poder establecer una conexión con la base de datos.