IT Nota

  • Home
  • How To
  • .NET
  • WordPress
  • Contact

Setting Up Oracle Data Provider for Visual Studio

In one of my SSIS 2008 applications, I had to extract data from Oracle which would be processed and dumped to SQL Server. In order to do so, SSIS will need have access to an Oracle Provider for OLE DB. I also needed to do a few simple checks here and there using SQL Plus, so there are two components I have to install to accomplish this, Oracle Data Access Components (ODAC) and Oracle Database 11g Release 2 Client for Microsoft Windows (x64), which can be downloaded from oracle.com:

The first component to install is 32-bit Oracle Data Access Components (ODAC) with Oracle Developer Tools for Visual Studio

Oracle Data Access Components 32-bit

To make Oracle provider work within Visual Studio, use the 32-bit version. For deployment on production though, you can choose between 32-bit or 64-bit ODAC.

Oracle 11g ODAC 32-bit

For some reason, after I installed the 32-bit ODAC, I didn’t find tnsping or SQL*Plus (it turned out SQL*Plus was installed in the C:\oracle\product\11.2.0\client_1 directory, except there was no shortcut created on Windows’ Start Menu Programs List).

So to add tnsping, I installed the Oracle client and chose a different home directory, ..client_2 (but the same Oracle base directory “C:\oracle”).

Oracle 11g Client for Microsoft Windows

Oracle Client Installer Installation Type

Oracle Client Installer Base and Software Location

Oracle Client Installer Perform Prerequisite Checks

After the installation, if you open your SSIS package, you can pick Native OLE DBOracle Provider for OLE DB from SSIS Data Source Designer.

Oracle Provider Data Source

As a result of this you will have two installations of SQL*Plus in C:\oracle\product\11.2.0\client_1 and C:\oracle\product\11.2.0\client_2\bin.

Just make sure both directories are referenced in the PATH Environment Variables setting.

Downloads

Oracle Instant Client Downloads
32-bit Oracle Data Access Components (ODAC) with Oracle Developer Tools for Visual Studio
64-bit Oracle Data Access Components (ODAC) Downloads

Further Reading

How to Build SSIS Package for Different SQL Server Version with Visual Studio 2017 and SSDT
How to Create SSIS Package in Visual Studio 2017
Oracle and Visual Studio 2012 Quickstart

December 17, 2012 Filed Under: Database Tagged With: Oracle, SQL Server

Default Ports Used by SQL Server

Microsoft SQL Server LogoThe most often asked question when configuring a firewall for SQL Server access is what ports are used by SQL Server? If your SQL Server uses default port numbers, it’s important to have TCP port 1343 & UDP port 1344 at the minimum opened. The rest port numbers are listed on the table below.

It’s important to note that a named instance will have a dynamic port number other than 1433 used and it might be better be configured to use a static port instead.

Ports Used by SQL Server Database Engine

Scenario

Port

Comments

SQL Server default instance running over TCP

TCP port 1433

This is the most common port allowed through the firewall. It applies to routine connections to the default installation of the Database Engine, or a named instance that is the only instance running on the computer. (Named instances have special considerations. See Dynamic Ports later in this topic.)

SQL Server named instances in the default configuration

The TCP port is a dynamic port determined at the time the Database Engine starts.

See the discussion below in the section Dynamic Ports. UDP port 1434 might be required for the SQL Server Browser Service when you are using named instances.

SQL Server named instances when they are configured to use a fixed port

The port number configured by the administrator.

See the discussion below in the section Dynamic Ports.

Dedicated Admin Connection

TCP port 1434 for the default instance. Other ports are used for named instances. Check the error log for the port number.

By default, remote connections to the Dedicated Administrator Connection (DAC) are not enabled. To enable remote DAC, use the Surface Area Configuration facet. For more information, see Surface Area Configuration.

SQL Server Browser service

UDP port 1434

The SQL Server Browser service listens for incoming connections to a named instance and provides the client the TCP port number that corresponds to that named instance. Normally the SQL Server Browser service is started whenever named instances of the Database Engine are used. The SQL Server Browser service does not have to be started if the client is configured to connect to the specific port of the named instance.

SQL Server instance running over an HTTP endpoint.

Can be specified when an HTTP endpoint is created. The default is TCP port 80 for CLEAR_PORT traffic and 443 for SSL_PORT traffic.

Used for an HTTP connection through a URL.

SQL Server default instance running over an HTTPS endpoint.

TCP port 443

Used for an HTTPS connection through a URL. HTTPS is an HTTP connection that uses secure sockets layer (SSL).

Service Broker

TCP port 4022. To verify the port used, execute the following query:

SELECT name, protocol_desc, port, state_desc

FROM sys.tcp_endpoints

WHERE type_desc = ‘SERVICE_BROKER’

There is no default port for SQL Server Service Broker, but this is the conventional configuration used in Books Online examples.

Database Mirroring

Administrator chosen port. To determine the port, execute the following query:

SELECT name, protocol_desc, port, state_desc FROM sys.tcp_endpoints

WHERE type_desc = ‘DATABASE_MIRRORING’

There is no default port for Database mirroring however Books online examples use TCP port 7022. It is very important to avoid interrupting an in-use mirroring endpoint, especially in high-safety mode with automatic failover. Your firewall configuration must avoid breaking quorum. For more information, see Specify a Server Network Address (Database Mirroring).

Replication

Replication connections to SQL Server use the typical regular Database Engine ports (TCP port 1433 for the default instance, etc.)

Web synchronization and FTP/UNC access for replication snapshot require additional ports to be opened on the firewall. To transfer initial data and schema from one location to another, replication can use FTP (TCP port 21), or sync over HTTP (TCP port 80) or File and Print Sharing (TCP port 137,138, or 139).

For sync over HTTP, replication uses the IIS endpoint (ports for which are configurable but is port 80 by default), but the IIS process connects to the backend SQL Server through the standard ports (1433 for the default instance.

During Web synchronization using FTP, the FTP transfer is between IIS and the SQL Server publisher, not between subscriber and IIS.

Transact-SQL debugger

TCP port 135

See Special Considerations for Port 135

The IPsec exception might also be required.

If using Visual Studio, on the Visual Studio host computer, you must also add Devenv.exe to the Exceptions list and open TCP port 135.

If using Management Studio, on the Management Studio host computer, you must also add ssms.exe to the Exceptions list and open TCP port 135. For more information, see Configure the Transact-SQL Debugger.

Further Reading

Configure the Windows Firewall to Allow SQL Server Access
TCP/IP port numbers required to communicate to SQL over a firewall

December 11, 2012 Filed Under: Database Tagged With: SQL Server

Removing _x0022_ Character Issue in SQL Server and SSIS

Just recently after an a production database upgrade to a 64-bit SQL Server 2008 R2 RTM (from SQL 2000), the same SSIS 2008 package that exports data from SQL Server 2000 to a flat file (csv/txt) started to wrap all data fields with _x0022_ hexadecimal characters.

CSV in Excel

The CSV file that was extracted is not totally worthless especially if it’s already taken hours to produce that file. We can easily have a quick workaround to fix this until the next scheduled export. By using Notepad/Notepad2 or other text editor, you want to replace the _x0022_ character with a double quotes (“).

CSV in Notepad2

Next, check your Flat File Connection Manager. Look into the Connection Managers and open the Flat File Connection Manager Editor and check the Text qualifier box. Change it to double quotes (“) from _x0022_. Click OK, save and rebuild your package.

SQL Server Flat File Connection Manager Editor

Looking further into this, it turns out the cause of the issue is the version of SQL Server in development is different than the one in production as shown in the two pictures below.

SQL Server 2008 R2 SP1 Development

Development (R2 SP1)

SQL Server 2008 R2 Production

Production (R2)

In this case, DEV is more up-to-date than PROD. After upgrading the production SQL Server to SP1, the issue was resolved.

Further Reading:
SQL Server 2008 SP1 CU 6 includes small changes to .dtsx files
SQL Server 2008 R2 SP1 Download

May 22, 2012 Filed Under: Database Tagged With: ETL, SQL Server, SSIS

« Previous Page
Buy me a coffee Support this site
Buy Me a Coffee?

Categories

  • .NET
  • Coding
  • Cybersecurity
  • Database
  • How To
  • Internet
  • Multimedia
  • Photography
  • Programming
  • Resources
  • Review
  • Tips and Tricks
  • Uncategorized
  • Use Case
  • WordPress
  • Writing

Recent Posts

  • How to View Stored Procedure Code in SQL Server
  • How to Find a String in SQL Server Stored Procedures
  • How to Remove Cached Credentials without Rebooting Windows
  • ESP Work Automation: Empowering Enterprises with Streamlined Workflows and Operational Efficiency
  • How to Search for a String in All Tables in a Database

Recent Posts

  • How to View Stored Procedure Code in SQL Server
  • How to Find a String in SQL Server Stored Procedures
  • How to Remove Cached Credentials without Rebooting Windows
  • ESP Work Automation: Empowering Enterprises with Streamlined Workflows and Operational Efficiency
  • How to Search for a String in All Tables in a Database

Tags

.NET .NET Core AdSense ASP.NET Cdonts Dll Classic ASP Code Editor ETL FSharp Genesis Framework Git Google HP Asset Manager HTML5 Hugo IIS Information Security Internet Internet Information Services iOS JAMStack Linux macOS Microsoft Microsoft SQL Server MVC PHP PowerShell Python Simple Mail Transfer Protocol Smtp Server SQL SQL Server SSIS SSMS SSRS Sublime Text Visual Studio Visual Studio Code VPN Windows Windows 8 Windows 10 Windows 2012 Windows Server

Copyright © 2011-2025 IT Nota. All rights reserved. Terms of Use | Privacy Policy | Disclosure