我安了VS2010和oracle 11g, 及 Oracle 11g ODAC 11.1.0.7.20 with Oracle Developer Tools for Visual Studio想插入图片,但好像不行,我来描述下:安好上面的东东后,我把网站加了reference: Oracle web和Oracle Access
在Configure Data Source 里新建Connection, Data Source里oracle Database有两个Data provider:
1) .NET Framework Data Provider for OLE DB
2) .NET Framework Data Provider for Oracle
这两个我都试过,都不能连上,error info is: ORA-12154: TNS:could not resolve the connect identifier specified请问是什么原因呢?

解决方案 »

  1.   


    我连接用的service naming是GUESTBOOK,在tnsnames.ora里是有的.这个GUESTBOOK,我是通过DBCA来建的.# tnsnames.ora Network Configuration File: D:\app\v-trajin\product\11.1.0\db_1\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.GUESTBOO =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = Win2k3-JinLing.fareast.corp.microsoft.com)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = Guestbook)
        )
      )ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = Win2k3-JinLing.fareast.corp.microsoft.com)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )
      

  2.   

    连GUESTBOOK,在NET MANAGER里,成功的.
      

  3.   

    是不是这个少了?GUESTBOOk =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = Win2k3-JinLing.fareast.corp.microsoft.com)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = Guestbook)
        )
      )执行:
    c:\>tnsping guestbook
    能通不?
      

  4.   

    GUESTBOO那你的ado.net连接串肯定写错了。里边的servername应该是GUESTBOO
      

  5.   


    噢,这个GUESTBOO改了回来,执行了c:\>tnsping guestbook,出来些东东,像是used parameter files:.......\sqlnet.ora
    Used TNSNAMES adapter to resolve to alias .....这个是做什么用的?
      

  6.   


    tnsnames.ora我改了过来,改后在SQL*PULS里能用connect gbadmin/123@guestbook链接上了,以前不行的.但在VS里还是一样的错,我想能不能我用的Data Provider不对呢?你说的那个ado.net不知是什么
      

  7.   


    你的Data Provider的连接串是什么,帖出来看看?
      

  8.   


    我没有手写连接串,是在VS里拖的SqlDataSource组件,然后连的.都是UI界面的那种,
    在Configure Data Source 里新建Connection, Data Source里oracle Database有两个Data provider:
    1) .NET Framework Data Provider for OLE DB
    2) .NET Framework Data Provider for Oracle
    这两个我都试过,都不能连上
      

  9.   

    我自己写了代码测试 default.aspx.csusing System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Data.OracleClient;public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            connection conn1 = new connection();
            time.Text = DateTime.Now.ToLocalTime().ToString("yyyy-MM-dd");        string constring = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS = (PROTOCOL = TCP)(HOST = Win2k3-JinLing.fareast.corp.microsoft.com)(PORT = 1521)))(CONNECT_DATA=(SERVER = DEDICATED)(SERVICE_NAME = Guestbook)));Persist Security Info=Ture;User Id=gbadmin;Passwork=123";
            OracleConnection conn = new OracleConnection();        try
            {
                conn.Open();
                Label1.Text = "Successful";
            }
            catch
            {
                Label1.Text = "error";
            }
        }
    }返回 'error'
      

  10.   

    上面User Id=gbadmin;Passwork=123";写错了,改成Password还是不行