dimitri / pgloader

Migrate to PostgreSQL in a single command!
http://pgloader.io
Other
5.46k stars 548 forks source link

MSSQL - connect string with host\instance error #543

Closed AlesKracik closed 7 years ago

AlesKracik commented 7 years ago

Hi,

when I'm trying to use pgloader for MSSQL with instance, using config file below

LOAD DATABASE  
     FROM mssql://$MSSQL_USER:$MSSQL_PASSWORD@USCTAPD00051\usctapd00051PS10/GS_Published
     INTO postgresql://$POSTGRE_USER:$POSTGRE_PASSWORD@somehost/somedb

INCLUDING ONLY TABLENAMES LIKE 'MSP_PROJECTS' IN SCHEMA 'dbo'  

SET work_mem to '16MB', maintenance_work_mem to '512 MB'  

BEFORE LOAD DO \$$ drop schema if exists dbo cascade; \$$; 

throws me this error, so it seems to me, that it actually does not recognize the usage of host\instnce as valid connection string

Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {1008B361F3}>
0: ((LAMBDA NIL :IN SB-DEBUG::FUNCALL-WITH-DEBUG-IO-SYNTAX))
1: (SB-IMPL::CALL-WITH-SANE-IO-SYNTAX #<CLOSURE (LAMBDA NIL :IN SB-DEBUG::FUNCALL-WITH-DEBUG-IO-SYNTAX) {1008FC6C5B}>)
2: (SB-IMPL::%WITH-STANDARD-IO-SYNTAX #<CLOSURE (LAMBDA NIL :IN SB-DEBUG::FUNCALL-WITH-DEBUG-IO-SYNTAX) {1008FC6C2B}>)
3: (PRINT-BACKTRACE :STREAM #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDOUT* {100029DA03}> :START 0 :FROM :DEBUGGER-FRAME :COUNT 4611686018427387903 :PRINT-THREAD T :PRINT-FRAME-SOURCE NIL :METHOD-FRAME-STYLE NIL)
4: (TRIVIAL-BACKTRACE:PRINT-BACKTRACE-TO-STREAM #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDOUT* {100029DA03}>)
5: (TRIVIAL-BACKTRACE:PRINT-BACKTRACE #<ESRAP:ESRAP-PARSE-ERROR @298 (10) {1008BD49E3}> :OUTPUT #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDOUT* {100029DA03}> :IF-EXISTS :APPEND :VERBOSE T)
6: (SIGNAL #<ESRAP:ESRAP-PARSE-ERROR @298 (10) {1008BD49E3}>)
7: (ERROR ESRAP:ESRAP-PARSE-ERROR :TEXT "LOAD DATABASE  
     FROM mssql://****:****@USCTAPD00051/usctapd00051PS10/GS_Published
     INTO postgresql://****:****@dos-data-stg-db.cpim96xnh9c7.eu-west-1.rds.amazonaws.com/dostack_****_export

INCLUDING ONLY TABLENAMES LIKE 'MSP_PROJECTS' IN SCHEMA 'dbo'  

SET work_mem to '16MB', maintenance_work_mem to '512 MB'  

BEFORE LOAD DO $$ drop schema if exists dbo cascade; $$; 
" :POSITION 298 :ATTEMPTS (#<ESRAP::PARSE-ATTEMPT @298 (5) {1008BD22C3}> #<ESRAP::PARSE-ATTEMPT @298 (5) {1008BD2603}> #<ESRAP::PARSE-ATTEMPT @298 (5) {1008BD2943}> #<ESRAP::PARSE-ATTEMPT @298 (5) {1008BD2C83}> #<ESRAP::PARSE-ATTEMPT @298 (5) {1008BD2FC3}> #<ESRAP::PARSE-ATTEMPT @298 (5) {1008BD3303}> #<ESRAP::PARSE-ATTEMPT @298 (5) {1008BD3643}> #<ESRAP::PARSE-ATTEMPT @298 (8) {1008BD40D3}> #<ESRAP::PARSE-ATTEMPT @298 (5) {1008BD4413}> #<ESRAP::PARSE-ATTEMPT @298 (7) {1008BD4893}>))
8: (ESRAP:ESRAP-PARSE-ERROR "LOAD DATABASE  
     FROM mssql://****:****@USCTAPD00051/usctapd00051PS10/GS_Published
     INTO postgresql://****:****@dos-data-stg-db.cpim96xnh9c7.eu-west-1.rds.amazonaws.com/dostack_****_export

INCLUDING ONLY TABLENAMES LIKE 'MSP_PROJECTS' IN SCHEMA 'dbo'  

SET work_mem to '16MB', maintenance_work_mem to '512 MB'  

BEFORE LOAD DO $$ drop schema if exists dbo cascade; $$; 
" 298 (#<ESRAP::PARSE-ATTEMPT @298 (5) {1008BD22C3}> #<ESRAP::PARSE-ATTEMPT @298 (5) {1008BD2603}> #<ESRAP::PARSE-ATTEMPT @298 (5) {1008BD2943}> #<ESRAP::PARSE-ATTEMPT @298 (5) {1008BD2C83}> #<ESRAP::PARSE-ATTEMPT @298 (5) {1008BD2FC3}> #<ESRAP::PARSE-ATTEMPT @298 (5) {1008BD3303}> #<ESRAP::PARSE-ATTEMPT @298 (5) {1008BD3643}> #<ESRAP::PARSE-ATTEMPT @298 (8) {1008BD40D3}> #<ESRAP::PARSE-ATTEMPT @298 (5) {1008BD4413}> #<ESRAP::PARSE-ATTEMPT @298 (7) {1008BD4893}>))
9: (ESRAP::EXPLAIN-FAILED-PARSE #S(ESRAP::FAILED-PARSE :EXPRESSION PGLOADER.PARSER::COMMANDS :START 0 :POSITION 0 :DETAIL #S(ESRAP::FAILED-PARSE :EXPRESSION (+ PGLOADER.PARSER::COMMAND) :START 0 :POSITION 0 :DETAIL #S(ESRAP::FAILED-PARSE :EXPRESSION PGLOADER.PARSER::COMMAND :START 0 :POSITION 297 :DETAIL #S(ESRAP::FAILED-PARSE :EXPRESSION (AND (OR PGLOADER.PARSER::LOAD-ARCHIVE PGLOADER.PARSER::LOAD-CSV-FILE PGLOADER.PARSER::LOAD-FIXED-COLS-FILE PGLOADER.PARSER::LOAD-COPY-FILE PGLOADER.PARSER::LOAD-DBF-FILE PGLOADER.PARSER::LOAD-IXF-FILE PGLOADER.PARSER::LOAD-MYSQL-DATABASE PGLOADER.PARSER::LOAD-MSSQL-DATABASE PGLOADER.PARSER::LOAD-SQLITE-DATABASE) PGLOADER.PARSER::END-OF-COMMAND) :START 0 :POSITION 297 :DETAIL #S(ESRAP::FAILED-PARSE :EXPRESSION PGLOADER.PARSER::END-OF-COMMAND :START 297 :POSITION 298 :DETAIL #S(ESRAP::FAILED-PARSE :EXPRESSION (AND PGLOADER.PARSER::IGNORE-WHITESPACE #\; PGLOADER.PARSER::IGNORE-WHITESPACE) :START 297 :POSITION 298 :DETAIL #S(ESRAP::FAILED-PARSE :EXPRESSION ";" :START 298 :POSITION 298 :DETAIL NIL))))))) "LOAD DATABASE  
     FROM mssql://****:****@USCTAPD00051/usctapd00051PS10/GS_Published
     INTO postgresql://****:****@dos-data-stg-db.cpim96xnh9c7.eu-west-1.rds.amazonaws.com/dostack_****_export

INCLUDING ONLY TABLENAMES LIKE 'MSP_PROJECTS' IN SCHEMA 'dbo'  

SET work_mem to '16MB', maintenance_work_mem to '512 MB'  

BEFORE LOAD DO $$ drop schema if exists dbo cascade; $$; 
" NIL)
10: (PGLOADER.PARSER:PARSE-COMMANDS-FROM-FILE #P"/opt/src/pgloader/config.load")
11: (PGLOADER:RUN-COMMANDS #P"/opt/src/pgloader/config.load" :START-LOGGER NIL :SUMMARY NIL :LOG-FILENAME NIL :LOG-MIN-MESSAGES NIL :CLIENT-MIN-MESSAGES NIL)
12: ((FLET #:CLEANUP-FUN-272 :IN PGLOADER::MAIN)) [cleanup]
13: (PGLOADER::MAIN ("pgloader" "--verbose" "--debug" "config.load"))
14: ((LAMBDA NIL :IN "/opt/src/pgloader/dumper-2SKVI5f7.lisp"))
15: ((FLET #:WITHOUT-INTERRUPTS-BODY-89 :IN SAVE-LISP-AND-DIE))
16: ((LABELS SB-IMPL::RESTART-LISP :IN SAVE-LISP-AND-DIE))

An unhandled error condition has been signalled: At

   TABLENAMES LIKE 'MSP_PROJECTS' IN SCHEMA 'dbo'  
                                  ^ (Line 5, Column 47, Position 298)

Could not parse KW-AFTER. Expected:

  the string "after"

Reached via

     AFTER-LOAD
  -> (AND KW-AFTER KW-LOAD (+ (OR LOAD-DO LOAD-EXECUTE)))
  -> KW-AFTER
  -> (AND IGNORE-WHITESPACE (~ "after") IGNORE-WHITESPACE)
  -> "after"

Could not parse KW-BEFORE. Expected:

  the string "before"

Reached via

     BEFORE-LOAD
  -> (AND KW-BEFORE KW-LOAD (+ (OR LOAD-DO LOAD-EXECUTE)))
  -> KW-BEFORE
  -> (AND IGNORE-WHITESPACE (~ "before") IGNORE-WHITESPACE)
  -> "before"

Could not parse KW-EXCLUDING. Expected:

  the string "excluding"

Reached via

     EXCLUDING-LIKE
  -> (AND KW-EXCLUDING KW-TABLE KW-NAMES KW-LIKE FILTER-LIST-LIKE)
  -> KW-EXCLUDING
  -> (AND IGNORE-WHITESPACE (~ "excluding") IGNORE-WHITESPACE)
  -> "excluding"

Could not parse KW-INCLUDING. Expected:

  the string "including"

Reached via

     INCLUDING-LIKE
  -> (AND KW-INCLUDING KW-ONLY KW-TABLE KW-NAMES KW-LIKE FILTER-LIST-LIKE)
  -> KW-INCLUDING
  -> (AND IGNORE-WHITESPACE (~ "including") IGNORE-WHITESPACE)
  -> "including"

Could not parse KW-CAST. Expected:

  the string "cast"

Reached via

     CASTS
  -> (AND KW-CAST CAST-RULE-LIST)
  -> KW-CAST
  -> (AND IGNORE-WHITESPACE (~ "cast") IGNORE-WHITESPACE)
  -> "cast"

Could not parse KW-SET. Expected:

  the string "set"

Reached via

     GUCS
  -> (AND KW-SET GENERIC-OPTION-LIST)
  -> KW-SET
  -> (AND IGNORE-WHITESPACE (~ "set") IGNORE-WHITESPACE)
  -> "set"

Could not parse KW-WITH. Expected:

  the string "with"

Reached via

     SQLITE-OPTIONS
  -> (AND KW-WITH (AND SQLITE-OPTION (* (AND COMMA SQLITE-OPTION))))
  -> KW-WITH
  -> (AND IGNORE-WHITESPACE (~ "with") IGNORE-WHITESPACE)
  -> "with"

Could not parse WHITESPACE. Expected:

     the character Space
  or the character Tab
  or the character Newline
  or the string "--"
  or the string "/*"

Reached via

     WHITESPACE
  -> (+ (OR Space Tab Newline Newline COMMENTS))
  -> (OR Space Tab Newline Newline COMMENTS)
  -> COMMENTS
  -> (OR SINGLE-LINE-COMMENT MULTI-LINE-COMMENT)
  -> MULTI-LINE-COMMENT
  -> (AND "/*" (+ (NOT "*/")) "*/")
  -> "/*"

Could not parse COMMA. Expected:

  the character , (COMMA)

Reached via

     ANOTHER-LIKE-EXPRESSION
  -> (AND COMMA LIKE-EXPRESSION)
  -> COMMA
  -> (AND IGNORE-WHITESPACE "," IGNORE-WHITESPACE)
  -> ","

Could not parse END-OF-COMMAND. Expected:

  the character ; (SEMICOLON)

Reached via

     COMMANDS
  -> (+ COMMAND)
  -> COMMAND
  -> (AND
      (OR LOAD-ARCHIVE LOAD-CSV-FILE LOAD-FIXED-COLS-FILE LOAD-COPY-FILE
          LOAD-DBF-FILE LOAD-IXF-FILE LOAD-MYSQL-DATABASE LOAD-MSSQL-DATABASE
          LOAD-SQLITE-DATABASE)
      END-OF-COMMAND)
  -> END-OF-COMMAND
  -> (AND IGNORE-WHITESPACE ";" IGNORE-WHITESPACE)
  -> ";"

Date/time: 2017-04-28-13:58An unhandled error condition has been signalled: At

   TABLENAMES LIKE 'MSP_PROJECTS' IN SCHEMA 'dbo'  
                                  ^ (Line 5, Column 47, Position 298)

Could not parse KW-AFTER. Expected:

  the string "after"

Reached via

     AFTER-LOAD
  -> (AND KW-AFTER KW-LOAD (+ (OR LOAD-DO LOAD-EXECUTE)))
  -> KW-AFTER
  -> (AND IGNORE-WHITESPACE (~ "after") IGNORE-WHITESPACE)
  -> "after"

Could not parse KW-BEFORE. Expected:

  the string "before"

Reached via

     BEFORE-LOAD
  -> (AND KW-BEFORE KW-LOAD (+ (OR LOAD-DO LOAD-EXECUTE)))
  -> KW-BEFORE
  -> (AND IGNORE-WHITESPACE (~ "before") IGNORE-WHITESPACE)
  -> "before"

Could not parse KW-EXCLUDING. Expected:

  the string "excluding"

Reached via

     EXCLUDING-LIKE
  -> (AND KW-EXCLUDING KW-TABLE KW-NAMES KW-LIKE FILTER-LIST-LIKE)
  -> KW-EXCLUDING
  -> (AND IGNORE-WHITESPACE (~ "excluding") IGNORE-WHITESPACE)
  -> "excluding"

Could not parse KW-INCLUDING. Expected:

  the string "including"

Reached via

     INCLUDING-LIKE
  -> (AND KW-INCLUDING KW-ONLY KW-TABLE KW-NAMES KW-LIKE FILTER-LIST-LIKE)
  -> KW-INCLUDING
  -> (AND IGNORE-WHITESPACE (~ "including") IGNORE-WHITESPACE)
  -> "including"

Could not parse KW-CAST. Expected:

  the string "cast"

Reached via

     CASTS
  -> (AND KW-CAST CAST-RULE-LIST)
  -> KW-CAST
  -> (AND IGNORE-WHITESPACE (~ "cast") IGNORE-WHITESPACE)
  -> "cast"

Could not parse KW-SET. Expected:

  the string "set"

Reached via

     GUCS
  -> (AND KW-SET GENERIC-OPTION-LIST)
  -> KW-SET
  -> (AND IGNORE-WHITESPACE (~ "set") IGNORE-WHITESPACE)
  -> "set"

Could not parse KW-WITH. Expected:

  the string "with"

Reached via

     SQLITE-OPTIONS
  -> (AND KW-WITH (AND SQLITE-OPTION (* (AND COMMA SQLITE-OPTION))))
  -> KW-WITH
  -> (AND IGNORE-WHITESPACE (~ "with") IGNORE-WHITESPACE)
  -> "with"

Could not parse WHITESPACE. Expected:

     the character Space
  or the character Tab
  or the character Newline
  or the string "--"
  or the string "/*"

Reached via

     WHITESPACE
  -> (+ (OR Space Tab Newline Newline COMMENTS))
  -> (OR Space Tab Newline Newline COMMENTS)
  -> COMMENTS
  -> (OR SINGLE-LINE-COMMENT MULTI-LINE-COMMENT)
  -> MULTI-LINE-COMMENT
  -> (AND "/*" (+ (NOT "*/")) "*/")
  -> "/*"

Could not parse COMMA. Expected:

  the character , (COMMA)

Reached via

     ANOTHER-LIKE-EXPRESSION
  -> (AND COMMA LIKE-EXPRESSION)
  -> COMMA
  -> (AND IGNORE-WHITESPACE "," IGNORE-WHITESPACE)
  -> ","

Could not parse END-OF-COMMAND. Expected:

  the character ; (SEMICOLON)

Reached via

     COMMANDS
  -> (+ COMMAND)
  -> COMMAND
  -> (AND
      (OR LOAD-ARCHIVE LOAD-CSV-FILE LOAD-FIXED-COLS-FILE LOAD-COPY-FILE
          LOAD-DBF-FILE LOAD-IXF-FILE LOAD-MYSQL-DATABASE LOAD-MSSQL-DATABASE
          LOAD-SQLITE-DATABASE)
      END-OF-COMMAND)
  -> END-OF-COMMAND
  -> (AND IGNORE-WHITESPACE ";" IGNORE-WHITESPACE)
  -> ";"

Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {1008B361F3}>
0: ((LAMBDA NIL :IN SB-DEBUG::FUNCALL-WITH-DEBUG-IO-SYNTAX))
1: (SB-IMPL::CALL-WITH-SANE-IO-SYNTAX #<CLOSURE (LAMBDA NIL :IN SB-DEBUG::FUNCALL-WITH-DEBUG-IO-SYNTAX) {100933468B}>)
2: (SB-IMPL::%WITH-STANDARD-IO-SYNTAX #<CLOSURE (LAMBDA NIL :IN SB-DEBUG::FUNCALL-WITH-DEBUG-IO-SYNTAX) {100933465B}>)
3: (PRINT-BACKTRACE :STREAM #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDOUT* {100029DA03}> :START 0 :FROM :DEBUGGER-FRAME :COUNT 4611686018427387903 :PRINT-THREAD T :PRINT-FRAME-SOURCE NIL :METHOD-FRAME-STYLE NIL)
4: (TRIVIAL-BACKTRACE:PRINT-BACKTRACE-TO-STREAM #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDOUT* {100029DA03}>)
5: (TRIVIAL-BACKTRACE:PRINT-BACKTRACE #<ESRAP:ESRAP-PARSE-ERROR @298 (10) {1008BD49E3}> :OUTPUT #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDOUT* {100029DA03}> :IF-EXISTS :APPEND :VERBOSE T)
6: ((FLET #:CLEANUP-FUN-272 :IN PGLOADER::MAIN)) [cleanup]
7: (PGLOADER::MAIN ("pgloader" "--verbose" "--debug" "config.load"))
8: ((LAMBDA NIL :IN "/opt/src/pgloader/dumper-2SKVI5f7.lisp"))
9: ((FLET #:WITHOUT-INTERRUPTS-BODY-89 :IN SAVE-LISP-AND-DIE))
10: ((LABELS SB-IMPL::RESTART-LISP :IN SAVE-LISP-AND-DIE))
dimitri commented 7 years ago

Can you link me to MS SQL docs about this host\instance notation please? As I know nothing about it, at the moment it's not implemented in pgloader you are right.

AlesKracik commented 7 years ago

https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/logging-in-to-sql-server http://stackoverflow.com/questions/3461005/sql-connection-with-public-ip-named-instance-and-port-number http://jtds.sourceforge.net/faq.html https://docs.microsoft.com/en-us/sql/connect/jdbc/building-the-connection-url

dimitri commented 7 years ago

If I read the FreeTDS documentation correctly you need to set an instance parameter in your .freetds.conf file: http://www.freetds.org/userguide/freetdsconf.htm

Can you please try that and report back? If that's the way to make it work, we will of course have to enhance the documentation about it.

nett00n commented 2 years ago

Hello. I have the same issue.

I used this page as a guide

how to reproduce

pgloader version

$ pgloader --version
pgloader version "3.6.1"
compiled with SBCL 1.4.15.debian

create docker containers and databases

sudo docker run --rm -e 'POSTGRES_PASSWORD=mysecretpassword' -e 'POSTGRES_DB=test' --name 'psql1' -p 5432:5432 -d postgres:12.2-alpine
sudo docker run --rm -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=Passw)rd' --name 'mssql1' -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest
sudo docker exec -it mssql1 /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'Passw)rd' -Q 'CREATE DATABASE testdb;' 
sudo docker exec -it -e 'POSTGRES_PASSWORD=mysecretpassword' psql1 psql -U postgres -c 'CREATE DATABASE testdb;' 

config ~/.freetds.conf

[global]
    tds version = 7.4
    client charset = UTF-8
[local]
    host = localhost
    port = 5432
    database = testdb

config pgloader rule

load database
     from mssql://SA:Passw)rd@local
     into postgresql://postgres:mysecretpassword@localhost:5432/testdb

including only table names like 'GlobalAccount'

set work_mem to '16MB', maintenance_work_mem to '512 MB'

before load do $$ drop schema if exists dbo cascade; $$;

run pgloader

pgloader pgloader_istructions

output

2022-01-17T12:04:23.005000Z LOG pgloader version "3.6.1"
2022-01-17T12:04:23.052000Z LOG Migrating from #<SQLITE-CONNECTION sqlite:///home/nett00n/mssql:/SA:Passw)rd@local {1006974643}>
2022-01-17T12:04:23.052000Z LOG Migrating into #<PGSQL-CONNECTION pgsql://postgres@localhost:5432/testdb {1006975C53}>
KABOOM!
FATAL error: Failed to open sqlite file #P"/home/nett00n/mssql:/SA:Passw)rd@local": Could not open sqlite3 database /home/nett00n/mssql:/SA:Passw)rd@local
Code CANTOPEN: no message.
An unhandled error condition has been signalled:
   Failed to open sqlite file #P"/home/nett00n/mssql:/SA:Passw)rd@local": Could not open sqlite3 database /home/nett00n/mssql:/SA:Passw)rd@local
Code CANTOPEN: no message.

What I am doing here?

Failed to open sqlite file #P"/home/nett00n/mssql:/SA:Passw)rd@local": Could not open sqlite3 database /home/nett00n/mssql:/SA:Passw)rd@local
Code CANTOPEN: no message.
TestSubject1498 commented 2 years ago

@nett00n I think you may be having a different issue than the one listed above, where the user is trying to specify an instance name.

config ~/.freetds.conf


[global]
    tds version = 7.4
    client charset = UTF-8
[local]
    host = localhost
    port = 5432
    database = testdb

In your FreeTDS.conf, I believe you can specify an mssql instance like this:

Modified config /usr/local/etc/freetds/freetds.conf

[mssql_instance]
     host = instancebox.domain.name
     port = 1433
     database = testdb
     instance = foo

Default port for mssql is 1433. microsoft notation of an mssql instance might be something like (as seen above) :

USCTAPD00051\00051PS10
mssqlBoxName\mssqlInstanceName

Forgive me, I'm slightly confused how your mssql box and postgres box could both be localhost. When I've used pgloader, pgloader is installed on the machine that is running postgres, so this connection is local, but the mssql connection I have specified with a fully qualified domain name, or just the mssql server host name such as USCTAPD00051 above.

FreeTDS seems to support this notation now, though I haven't been able to get it to work, and I'm uncertain how to specify the FreeTDS entry in pgloader, when I try :

Debug Output

pgloader version 3.6.3~devel
compiled with SBCL 2.0.1.debian
sb-impl::*default-external-format* :UTF-8
tmpdir: #P"/tmp/pgloader/"
2022-01-20T10:36:28.006000-08:00 NOTICE Starting pgloader, log system is ready.
2022-01-20T10:36:28.023000-08:00 INFO Starting monitor
2022-01-20T10:36:28.027000-08:00 LOG pgloader version "3.6.3~devel"
2022-01-20T10:36:28.078000-08:00 INFO Parsed command:
load database
        from mssql://Domain\ARCHIVESERVICE:password@mssql_instance
        into  postgresql://archiveservice:password@localhost:5432/archive
;

2022-01-20T10:36:28.079000-08:00 LOG DRY RUN, only checking connections.
2022-01-20T10:36:28.080000-08:00 LOG Attempting to open #<SQLITE-CONNECTION sqlite://~/mssql:/DOMAINarchiveservice:password@mssql_instance.load {1008086A53}>
2022-01-20T10:36:28.095000-08:00 FATAL Failed to connect to #<SQLITE-CONNECTION sqlite://~/mssql:/DOMAINarchiveservice:password@mssql_instance.load {1008086A53}>: Failed to open sqlite file #P"~/mssql:/DOMAINarchiveservice:password@mssql_instance.load": Could not open sqlite3 database ~/mssql:/DOMAINarchiveservice:password@mssql_instance.load
Code CANTOPEN: no message.
2022-01-20T10:36:28.095000-08:00 LOG Attempting to connect to #<PGSQL-CONNECTION pgsql://archiveservice@localhost:5432/archive {1008088233}>
2022-01-20T10:36:28.134000-08:00 DEBUG CONNECTED TO #<PGLOADER.PGSQL:PGSQL-CONNECTION pgsql://archiveservice@localhost:5432/archive {1008088233}>
2022-01-20T10:36:28.139000-08:00 LOG Success, opened #<PGSQL-CONNECTION pgsql://archiveservice@localhost:5432/archive {1008088233}>.
2022-01-20T10:36:28.139000-08:00 LOG Running a simple query: SELECT 1;
2022-01-20T10:36:28.145000-08:00 SQL SELECT 1;
2022-01-20T10:36:28.146000-08:00 LOG report summary reset
       table name     errors       read   imported      bytes      total time       read      write
-----------------  ---------  ---------  ---------  ---------  --------------  ---------  ---------
-----------------  ---------  ---------  ---------  ---------  --------------  ---------  ---------
2022-01-20T10:36:28.231000-08:00 INFO Stopping monitor

Connection String-- mssql box with single mssql instance:

pgloader version 3.6.3~devel
compiled with SBCL 2.0.1.debian
sb-impl::*default-external-format* :UTF-8
tmpdir: #P"/tmp/pgloader/"
2022-01-20T10:56:18.007000-08:00 NOTICE Starting pgloader, log system is ready.
2022-01-20T10:56:18.028000-08:00 INFO Starting monitor
2022-01-20T10:56:18.036000-08:00 LOG pgloader version "3.6.3~devel"
2022-01-20T10:56:18.080000-08:00 INFO Parsed command:
load database
        from mssql://DOMAIN\archiveservice:password@mssqlBOX2:1433/testDB
        into  postgresql://archiveservice:password@localhost:5432/archive
;

2022-01-20T10:56:18.082000-08:00 LOG Loading the FreeTDS shared librairy (sybdb)
2022-01-20T10:56:18.085000-08:00 LOG DRY RUN, only checking connections.
2022-01-20T10:56:18.086000-08:00 LOG Attempting to connect to #<MSSQL-CONNECTION mssql://DOMAIN\archiveservice@mssqlBOX2:1433/testDB {10080F16B3}>
Max connections reached, increase value of TDS_MAX_CONN
2022-01-20T10:56:18.156000-08:00 LOG Success, opened #<MSSQL-CONNECTION mssql://DOMAIN\archiveservice@mssqlBOX2:1433/testDB {10080F16B3}>.
2022-01-20T10:56:18.156000-08:00 LOG Running a simple query: SELECT 1;
2022-01-20T10:56:18.162000-08:00 SQL MSSQL: sending query: SELECT 1;
2022-01-20T10:56:18.164000-08:00 LOG Attempting to connect to #<PGSQL-CONNECTION pgsql://archiveservice@localhost:5432/archive {10080F2E83}>
2022-01-20T10:56:18.218000-08:00 DEBUG CONNECTED TO #<PGLOADER.PGSQL:PGSQL-CONNECTION pgsql://archiveservice@localhost:5432/archive {10080F2E83}>
2022-01-20T10:56:18.226000-08:00 LOG Success, opened #<PGSQL-CONNECTION pgsql://archiveservice@localhost:5432/archive {10080F2E83}>.
2022-01-20T10:56:18.226000-08:00 LOG Running a simple query: SELECT 1;
2022-01-20T10:56:18.227000-08:00 SQL SELECT 1;
2022-01-20T10:56:18.228000-08:00 LOG report summary reset
       table name     errors       read   imported      bytes      total time       read      write
-----------------  ---------  ---------  ---------  ---------  --------------  ---------  ---------
-----------------  ---------  ---------  ---------  ---------  --------------  ---------  ---------
2022-01-20T10:56:18.320000-08:00 INFO Stopping monitor