# Solidworks PDM

Ofrecemos dos métodos para integrar los datos de piezas y ensamblajes de Solidworks PDM en Violet:

1. **Manual** **Importar** - vía [importación de archivo .csv](#manual-upload-.csv-file-import)
2. **Integración en vivo** - vía [consulta directa a su base de datos SQL](#live-fetch-direct-query)

Nuestra integración en vivo obtiene datos directamente de su servidor Solidworks PDM en lugar de a través de la API. Esto significa que funciona con cualquier nivel de Solidworks PDM: no requiere que tenga PDM Professional.

## Importación manual

En este método, necesitará exportar un archivo .csv de su Lista de Materiales (BOM) desde Solidworks PDM. Al exportar, asegúrese de:&#x20;

* Eliminar cualquier información de encabezado/título de su archivo .csv del BOM para una importación adecuada. La primera fila debe contener los nombres de cada columna.
* Debe estar poblado el campo 'File Name' o 'Part Number' para generar un identificador único para cada fila.

Luego, siga las instrucciones a continuación para importar:

2. Seleccione <img src="/files/32ec2a8b5cde57325cf098cbd170aa4a579fad94" alt="" data-size="line"> **Solidworks PDM**
3. Haga clic en **Subir archivo**, ubique su BOM exportado y haga clic en Abrir.
4. Haga clic en **Crear**.
5. Puede seguir subiendo nuevas versiones del BOM con el tiempo. Cada importación subsiguiente mapeará y actualizará inteligentemente los datos de las piezas basándose en el nombre de archivo o el número de pieza.

## Integración en vivo

En este método, Violet consulta directamente el servidor SQL que aloja su bóveda de Solidworks PDM. Violet obtiene datos de piezas y ensamblajes (BOM).

Para habilitar esto, deberá configurar el acceso:

{% stepper %}
{% step %}

#### Habilite la conectividad con su servidor PDM

Permita que Violet se conecte a su servidor añadiendo nuestra dirección IP a la lista blanca o configurando un túnel VPN.

Para VPN, recomendamos Tailscale. Estas opciones se describen con más detalle [aquí](/es/recursos/administrativo/conectar-software-autoalojado.md).
{% endstep %}

{% step %}

#### Proporcione acceso de solo lectura a su servidor PDM

1. Primero, cree un inicio de sesión SQL de solo lectura:

```sql
CREATE LOGIN swpdm_bom_user WITH PASSWORD = 'StrongPasswordHere!';
```

2. A continuación, cree un usuario en la base de datos PDM

```sql
USE YourPDMDatabase;
CREATE USER swpdm_bom_user FOR LOGIN swpdm_bom_user;
```

3. Por último, agregue el usuario al rol db\_datareader

```sql
EXEC sp_addrolemember 'db_datareader', 'swpdm_bom_user';
```

Esto permite el acceso a toda la base de datos PDM. Si tiene datos sensibles y/o no relacionados con el BOM que deben restringirse, siga las instrucciones a continuación para [#advanced-sql-access-optional](#advanced-sql-access-optional "mention").
{% endstep %}

{% step %}

#### Crear una integración

Navegue a la **Integraciones** página y seleccione <img src="/files/32ec2a8b5cde57325cf098cbd170aa4a579fad94" alt="" data-size="line"> **Solidworks PDM SQL Server.** Proporcione el nombre de usuario y la contraseña creados arriba, la dirección IP de su servidor, el puerto (típicamente `1433`) y el nombre de su base de datos.

<figure><img src="/files/478d444fb9cb7d00f6e59ff6a40f7829e4a9f12a" alt="" width="188"><figcaption></figcaption></figure>

Haga clic en **Conectar** para configurar su integración.
{% endstep %}
{% endstepper %}

### Acceso SQL avanzado \[opcional]

<details>

<summary>Instrucciones para acceso SQL avanzado</summary>

Si tiene datos sensibles no relacionados con el BOM en su servidor que necesita proteger, puede habilitar el acceso SQL solo a tablas específicas.

1. Crear un inicio de sesión SQL

```sql
CREATE LOGIN swpdm_bom_user WITH PASSWORD = 'StrongPasswordHere!';
```

2. Crear un usuario en la base de datos PDM

```sql
USE YourPDMDatabase;
CREATE USER swpdm_bom_user FOR LOGIN swpdm_bom_user;
```

3. Conceder acceso de solo lectura a las tablas relacionadas con el BOM requeridas

```sql
GRANT SELECT ON dbo.Documents          TO swpdm_bom_user;
GRANT SELECT ON dbo.DocumentReferences TO swpdm_bom_user;
GRANT SELECT ON dbo.Configurations     TO swpdm_bom_user;
GRANT SELECT ON dbo.CardVariables      TO swpdm_bom_user;
GRANT SELECT ON dbo.Users              TO swpdm_bom_user;
GRANT SELECT ON dbo.States             TO swpdm_bom_user;

```

Los nombres de sus tablas pueden ser diferentes de los indicados arriba. Use la consulta siguiente para listar todas las tablas en su base de datos PDM. Luego identificaremos cuáles corresponden a las tablas que necesitamos.

```sql
SELECT name 
FROM sys.tables 
ORDER BY name;
```

</details>

## Sincronizar datos de Solidworks con otras herramientas

Los datos de su Solidworks PDM también pueden sincronizarse con herramientas posteriores. Consulte los ejemplos a continuación para más detalle:

* [Solidworks PDM a ION](/es/funciones/workflows/flujos-de-trabajo-de-sincronizacion-de-datos/sincronizaciones-de-ejemplo/solidworks-pdm-a-ion.md)
* [Solidworks PDM a Boltline](/es/funciones/workflows/flujos-de-trabajo-de-sincronizacion-de-datos/sincronizaciones-de-ejemplo/solidworks-pdm-a-boltline.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.violetlabs.com/es/aplicaciones/s/solidworks-pdm.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
