Skip to content

Snowflake to Oracle: missing port in address #52

Description

@mmcossu

made an attempt following the guide https://www.sqlpipe.com/data-transfer-guides/snowflake-to-oracle.

Executed a POST to /transfers/create with the following payload with Postman:

{
 "source-name": "snowflake",
 "source-type": "snowflake",
 "source-connection-string": "{{sf-username}}:{{sf-password}}@{{sf-host}}/{{sf-dbname}}",
 "source-schema": "{{sf-schema}}",
 "source-table": "{{sf-table}}",
 
 "target-name": "mirror",
 "target-type": "oracle",
 "target-connection-string": "oracle: //{{ora-username}}:{{ora-password}}@{{ora-host}}:1521/{{ora-dbname}}?dba privilege=sysdba",
 "target-schema": "{{ora-schema}}",
 "target-table": "{{ora-table}}",
 "drop-target-table-if-exists": false,
 "create-target-table-if-not-exists": true,
 
 "keep-files": true,
 "target-hostname": "{{ora-host}}",
 "target-username": "{{ora-username}}",
 "target-password": "{{ora-password}}",
 "target-database": "{{ora-dbname}}",
 "target-port": 1521
}

The following is the POST response:

{
    "transfer": {
        "id": "dfd84c1c-3d93-4760-977a-ce656235a8fc",
        "created-at": "2024-08-30T16:11:40.543488241Z",
        "status": "queued",
        "keep-files": true,
        "tmp-dir": "/tmp/sqlpipe/dfd84c1c-3d93-4760-977a-ce656235a8fc",
        "pipe-file-dir": "/tmp/sqlpipe/dfd84c1c-3d93-4760-977a-ce656235a8fc/pipe-files",
        "final-csv-dir": "/tmp/sqlpipe/dfd84c1c-3d93-4760-977a-ce656235a8fc/final-csv",
        "source-connection-info": {
            "instance-name": "snowflake",
            "type": "snowflake",
            "hostname": "",
            "database": "",
            "username": ""
        },
        "target-connection-info": {
            "instance-name": "mirror",
            "type": "oracle",
            "hostname": "{{ora-host}}",
            "port": 1521,
            "database": "{{ora-dbname}}",
            "username": "sys"
        },
        "drop-target-table-if-exists": false,
        "create-target-schema-if-not-exists": false,
        "create-target-table-if-not-exists": true,
        "source-schema": "{{sf-schema}}",
        "source-table": "{{sf-table}}",
        "target-schema": "{{ora-schema}}",
        "target-name": "{{ora-table}}",
        "delimiter": "{dlm}",
        "newline": "{nwln}",
        "null": "{nll}"
    }
}

The following is the response of the /transfers/list call:

{
    "transfers": {
        "dfd84c1c-3d93-4760-977a-ce656235a8fc": {
            "id": "dfd84c1c-3d93-4760-977a-ce656235a8fc",
            "created-at": "2024-08-30T16:11:40.543488241Z",
            "status": "error",
            "error": "error running transfer dfd84c1c-3d93-4760-977a-ce656235a8fc :: error creating target system :: error opening oracle db :: error pinging mirror :: missing port in address",
            "keep-files": true,
            "tmp-dir": "/tmp/sqlpipe/dfd84c1c-3d93-4760-977a-ce656235a8fc",
            "pipe-file-dir": "/tmp/sqlpipe/dfd84c1c-3d93-4760-977a-ce656235a8fc/pipe-files",
            "final-csv-dir": "/tmp/sqlpipe/dfd84c1c-3d93-4760-977a-ce656235a8fc/final-csv",
            "source-connection-info": {
                "instance-name": "snowflake",
                "type": "snowflake",
                "hostname": "",
                "database": "",
                "username": ""
            },
            "target-connection-info": {
                "instance-name": "mirror",
                "type": "oracle",
                "hostname": "{{ora-host}}",
                "port": 1521,
                "database": "{{ora-dbname}}",
                "username": "sys"
            },
            "drop-target-table-if-exists": false,
            "create-target-schema-if-not-exists": false,
            "create-target-table-if-not-exists": true,
            "source-schema": "{{sf-schema}}",
            "source-table": "{{sf-table}}",
            "target-schema": "{{ora-schema}}",
            "target-name": "{{ora-table}}",
            "delimiter": "{dlm}",
            "newline": "{nwln}",
            "null": "{nll}"
        }
    }
}

I only tracked down the origin of the problem at https://github.com/sqlpipe/sqlpipe/blob/main/cmd/sqlpipe/systems.go#L104.
As you can see from the request, the port is present.
Also, credentials and other variables have been used to successfully connect to the Oracle instance with SqlDeveloper client.
So i don't quite get the reason for the error.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions