我安装了玻璃鱼,并设置了JDBC连接池和资源(隐藏了密码,显而易见!):
<jdbc-connection-pool datasource-classname="org.postgresql.ds.PGSimpleDataSource" res-type="javax.sql.DataSource" name="FYPPool">
<property name="User" value="Matt"></property>
<property name="DatabaseName" value="Matt"></property>
<property name="LogLevel" value="0"></property>
<property name="BinaryTransfer" value="true"></property>
<property name="Ssl" value="false"></property>
<property name="ServerName" value="localhost"></property>
<property name="ProtocolVersion" value="0"></property>
<property name="Url" value="jdbc:postgresql://localhost/?loginTimeout=0&socketTimeout=0&prepareThreshold=5&unknownLength=2147483647&tcpKeepAlive=false&binaryTransfer=true&disableColumnSanitiser=false"></property>
<property name="ReceiveBufferSize" value="-1"></property>
<property name="TcpKeepAlive" value="false"></property>
<property name="SendBufferSize" value="-1"></property>
<property name="SocketTimeout" value="0"></property>
<property name="PortNumber" value="5432"></property>
<property name="LoginTimeout" value="0"></property>
<property name="UnknownLength" value="2147483647"></property>
<property name="PrepareThreshold" value="5"></property>
<property name="Password" value="******"></property>
</jdbc-connection-pool>
<jdbc-resource pool-name="FYPPool" jndi-name="jdbc/FYP"></jdbc-resource>
我可以正常ping连接池。
在NetBeans中,我在&#34; Services&#34;下添加了一个新驱动程序。标签指向我放在玻璃鱼lib中的罐子:/Applications/NetBeans/glassfish-4.0/glassfish/lib/postgresql-9.3-1102.jdbc41.jar
。注意:当我选择jar时,它会填充&#34; Driver Class&#34; org.postgresql.Driver
的文本框与问题标题中的文本框不同,但是如果我单击文本框旁边的“查找”按钮,则会显示“#34;搜索驱动程序类&#34;使用进度条,然后在其下面有一个信息符号,表示&#34;驱动程序类缺失&#34;。如果我再次按下“查找”按钮,则会在选择jar后使用其中的值填充它。
然后我尝试从数据库创建一些实体类,因此我选择数据源作为我的jdbc/FYP
资源,从这里有两种情况:
1.如果我运行了glassfish安装,那么错误&#34;数据源的驱动程序类的名称丢失了#34;出现
2.如果它没有运行那么错误&#34;无法找到驱动程序org.postgresql.ds.PGSimpleDataSource&#34;出现。
这第二种情况看起来很有意思,因为它找不到的驱动程序名称与创建JDBC连接池时设置的驱动程序名称相同,但与获取设置时的驱动程序类不同在NetBeans中注册驱动程序。
更有趣/奇怪的是,如果我在&#34;服务&#34;下创建一个新连接。 postgresql数据库的选项卡,并使用我创建的驱动程序,它可以创建一个连接,并找到绝对正常的表。