oracle字符集dll,VS2010+Oracle驱动程序:ORA-12154:TSN:无法解析指定的连接标识符
我找到的最佳解決方案是使用Oracle數據訪問客戶端庫,并在連接字符串中包含整個TNS names條目。這使得項目可以很容易地發布到web服務器、ClickOnce等。
以下是在項目中設置Oracle驅動程序所需的步驟:
1) 從“Oracle Data Provider for.NET”包中獲取dll
我繼續安裝了完整的200mb ODAC和Oracle開發人員工具Visual Studio,但您只需要從這個下載四個dll。(您可以直接從安裝程序包中提取它們,而不必經歷整個安裝過程,或者一個較小的下載可能包含所有這些內容。)
2) 在項目中引用dll
搜索Oracle數據訪問客戶端的安裝目錄,并將以下四個DLL拖到項目的根目錄中:
Oracle.DataAccess.dll
oci.dll
oraciicus11.dll
OraOps11w.dll
設置
復制到輸出目錄
屬性除Oracle.DataAccess.dll之外的所有文件
總是復制
.
低于
項目
-->
添加引用。。。
,單擊
瀏覽
選項卡并選擇Oracle.DataAccess.dll文件。
3) 使用帶有完整連接字符串的驅動程序(可選)
為了不必擔心應用程序部署到的計算機上設置的TNS names文件,我將整個定義放在文件中,如
connectionstrings.com
. 它使連接字符串有點龐大,但消除了我以前遇到的許多TNS名稱文件問題:
Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=servername)(PORT=aa1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=servicename)));User Id=username;Password=********;
這是我用來測試司機的全部課程:
using System;
using System.Data;
using Oracle.DataAccess.Client;
static class Program
{
[STAThread]
static void Main()
{
TestOracle();
}
private static void TestOracle()
{
string connString =
"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)" +
"(HOST=servername)(PORT=aa1521)))" +
"(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=servicename)));"+
"User Id=username;Password=********;";
using (OracleConnection conn = new OracleConnection(connString))
{
string sqlSelect = "SELECT * FROM TEST_TABLE";
using (OracleDataAdapter da = new OracleDataAdapter(sqlSelect, conn))
{
var table = new DataTable();
da.Fill(table);
if (table.Rows.Count > 1)
Console.WriteLine("Successfully read oracle.");
}
}
}
}
總結
以上是生活随笔為你收集整理的oracle字符集dll,VS2010+Oracle驱动程序:ORA-12154:TSN:无法解析指定的连接标识符的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle11 不能连接,oracle
- 下一篇: oracle 计算公式解析,用PL/SQ